Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.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 正则表达式匹配一个url并替换为另一个url_Php_Regex - Fatal编程技术网

Php 正则表达式匹配一个url并替换为另一个url

Php 正则表达式匹配一个url并替换为另一个url,php,regex,Php,Regex,你好 我是一个正则表达式noob,试图在网上找到资源,但这门语言对我来说太陌生了。如果有人能帮忙解释一下,我将不胜感激 基本上,我已经成功地使用dom方法在随机字符串中使用getAttribute('src')在“img”标记中查找图像url 例如: $string = '<a><img src=http://123.com/123.jpg/></a><img src=http://test.com/test.jpg/>'; //some rand

你好

我是一个正则表达式noob,试图在网上找到资源,但这门语言对我来说太陌生了。如果有人能帮忙解释一下,我将不胜感激

基本上,我已经成功地使用dom方法在随机字符串中使用getAttribute('src')在“img”标记中查找图像url

例如:

$string = '<a><img src=http://123.com/123.jpg/></a><img src=http://test.com/test.jpg/>'; //some random string
$url = get_img_url($string) //function of getting a url from a string.
任何帮助都将不胜感激!谢谢大家

编辑: 附加所需输出,谢谢Amit Joki

echo $newstring;
结果将是:

<a><img src=http://example.com/content_image/blogger_1.jpg/></a><img src=http://test.com/test.jpg/>

您可以匹配以下正则表达式:

]*)>

并替换为


演示:

您可以使用此正则表达式:

(<img.+?src=)(.+?)(\s|>)

我不懂php,但您必须按照以下方式操作:

preg_replace($pattern, $replacement, $string);

其中,
$pattern
是我的正则表达式,
$replacement
是我的替换字符串,
$string
是你的输入字符串。

展示一些测试用例和输出应该如何基本上,我想用另一个url替换“$string”(由html标记组成)中的现有url“$url”,比如“$url2”.你想在整个文档中替换它吗?@Architheutus,看看我的回答Hi Amit,对不起,但我很困惑,我的正则表达式不好。你能解释一下我该如何应用这个吗?如果$string有不止一个url,这会起作用吗?@Architheutus,等等,我会给出一个演示,如果我只想匹配一个url,$string()中的第二个url保持不变,如上所述?不,在$string右侧,我只想替换“”而不是“”(这两个url可能会改变,所以我用$url来表示我想改变的那个)@Architheutus,然后您可以轻松地用str_replace替换它,而不需要atll中的正则表达式
$1http://example.com$3
preg_replace($pattern, $replacement, $string);