【发布时间】:2020-10-10 08:57:27
【问题描述】:
这是我在stackoverflow中找到的代码,但它有一个问题,有人帮我解决它。
<?php
$string = "Apple iPhone SE (Black, 64 GB)
http://dl.flipkart.com/dl/apple-iphone-se-black-64-gb/p/itm832dd5963a08d?pid=MOBFRFXHCKWDAC4A&cmpid=product.share.pp";
foreach(explode(" ",$string) as $first_occurrence) {
if (strpos($first_occurrence, 'http') !== false) { break;}
}
echo $first_occurrence;
?>
结果是
GB) http://dl.flipkart.com/dl/apple-iphone-se-black-64-gb/p/itm832dd5963a08d?pid=MOBFRFXHCKWDAC4A&cmpid=product.share.pp
有一个不需要的GB)
“...64 GB)”之后有一个换行符,如果我删除它,代码似乎工作正常。但我也想让它与换行符一起工作。
我怎样才能得到准确的输出如下?
http://dl.flipkart.com/dl/apple-iphone-se-black-64-gb/p/itm832dd5963a08d?pid=MOBFRFXHCKWDAC4A&cmpid=product.share.pp
这是另一个更复杂的字符串,
$string = "Samsung Galaxy S20 (Black) https://www.amazon.in/b?node=21021782031&pf_rd_r=Z8266H8XJMQGEZMB0X44&pf_rd_p=00f7186e-02c5-40c7-9f15-9f2d65d70297 afdsfdsf d https://stackoverflow.com/questions/35433139/php-get-only-values-from-an-array and https://mail.google.com/mail/u/0/#inbox";
结果应该是
https://www.amazon.in/b?node=21021782031&pf_rd_r=Z8266H8XJMQGEZMB0X44&pf_rd_p=00f7186e-02c5-40c7-9f15-9f2d65d70297
【问题讨论】:
标签: php