Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中获取长度可变的子字符串_Php - Fatal编程技术网

在php中获取长度可变的子字符串

在php中获取长度可变的子字符串,php,Php,因此,在经历了一段艰难的工作之后,我在搜索了第一个出现的“getflashmedia” var_dump($str)= 字符串(1735)“getflashmedia”src=”http://www.exampleURL.com/media-name.mp4"> …/*一堆代码作为字符串*” 我想在src中获取URL,但长度不同,因此我不能真正使用substr()函数使用正则表达式,我建议如下:src=“(.*?”) 此表达式与src=“字面上匹配,然后开始捕获并在找到另一个”时停止 这将从输

因此,在经历了一段艰难的工作之后,我在搜索了第一个出现的
“getflashmedia”

var_dump($str)=
字符串(1735)“getflashmedia”src=”http://www.exampleURL.com/media-name.mp4">
…/*一堆代码作为字符串*”

我想在
src
中获取URL,但长度不同,因此我不能真正使用
substr()
函数使用正则表达式,我建议如下:
src=“(.*?”

此表达式与
src=“
字面上匹配,然后开始捕获并在找到另一个
时停止


这将从输入字符串中的每个src属性获取每个链接。如果只需要第一个链接,请使用
preg_match()

使用正则表达式,我建议如下:
src=“(.*)”

此表达式与
src=“
字面上匹配,然后开始捕获并在找到另一个
时停止


这将从输入字符串中的每个src属性获取每个链接。如果您只需要第一个链接,请使用
preg_match()

我强烈建议您不要使用字符串函数或正则表达式来解析XML/HTML,而应该使用XML解析器。通过这种方式,您可以构建更可靠的刮刀

XML解析器可以处理编写字符串处理代码时可能没有想到的情况

请参阅XML解析器:

另一个选项是SimpleXML:


有许多库适合它。

我强烈建议您不要使用字符串函数或正则表达式来解析XML/HTML,而应该使用XML解析器。通过这种方式,您可以构建一个更可靠的解析器

XML解析器可以处理编写字符串处理代码时可能没有想到的情况

请参阅XML解析器:

另一个选项是SimpleXML:


有许多库适合它。

或者有文档对象模型。不管怎样,老笑话是,如果你有问题,并且你使用正则表达式来解决它,你现在有两个问题。事实上。我在构建了一些非常复杂的屏幕刮取器之后了解到了这一点。通过这种方法做得更好。或者文档对象模型。不管怎样,老笑话是,如果你有问题,并且你使用正则表达式来解决它,那么你现在有两个问题。事实上。我在构建了一些非常复杂的屏幕刮板之后了解到了这一点。通过这种方法做得更好。
var_dump($str) = 
    string(1735) "getflashmedia" src="http://www.exampleURL.com/media-name.mp4"></object>
    .../*a haystack of code as string*/"
<?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
)