所以经过一些艰难的事情,我在搜索第一次 shirtsArray = ["StarWarsBlackFittedT.jpg", "CollaredFittedWhiteWithBeigeSplash.jpg", "CollaredWhiteWithZigzagLightBlueStripes.jpg", "ClooaredBlackWithWhiteStripes.jpg", "CollaredFittedNavyBlue.jpg"]
"getflashmedia"
我想获取var_dump($str) =
string(1735) "getflashmedia" src="http://www.exampleURL.com/media-name.mp4"></object>
.../*a haystack of code as string*/"
内的网址,但长度不一,所以我无法真正使用src
函数
答案 0 :(得分:3)
使用正则表达式,我建议使用以下内容:src="(.*?)"
。
此表达式按字面意思匹配src="
,然后在找到另一个"
时开始捕获并停止。
<?php
$input = 'getflashmedia" src="http://www.exampleURL.com/media-name.mp4"></object>';
preg_match_all('/src="(.*?)"/', $input, $matches);
print_r($matches[1]);
输出:
Array
(
[0] => http://www.exampleURL.com/media-name.mp4
)
这将从输入字符串中的每个src属性获取每个链接。如果您只需要第一个,请使用preg_match()
。
答案 1 :(得分:2)
我强烈建议您使用XML解析器,而不是使用字符串函数或正则表达式来解析XML / HTML。你可以用这种方式建立一个更可靠的刮刀。
XML解析器可以处理编写字符串处理代码时可能没有想到的情况。
请参阅XML解析器:http://php.net/manual/en/book.xml.php
另一个选项是SimpleXML:http://php.net/manual/en/simplexml.examples-basic.php
有许多适合它的库。