Php “逃跑”&引用;在preg_替换中

Php “逃跑”&引用;在preg_替换中,php,preg-replace,Php,Preg Replace,我做错了什么 <?php $imageurl = $pagename1; $imageurl = preg_replace('/.asp/', .$g_sites_img2.'.jpg', $pagename1); ?> 为什么它仍然给我一个错误?在$g\u sites\u img2之前,您还有一个额外的 $imageurl = preg_replace('/\.asp/', .$g_sites_img2.'\.jpg', $pagename1);?>

我做错了什么

<?php 
    $imageurl = $pagename1; 
    $imageurl = preg_replace('/.asp/', .$g_sites_img2.'.jpg', $pagename1);
?>

为什么它仍然给我一个错误?

$g\u sites\u img2
之前,您还有一个额外的

$imageurl = preg_replace('/\.asp/', .$g_sites_img2.'\.jpg', $pagename1);?>
                                    ^ Here's your problem

我同意@dtbarne--
preg\u replace()
在这里完全没有必要。您应该改用
str\u replace()

$g\u img2之前,您有一个额外的

$imageurl = preg_replace('/\.asp/', .$g_sites_img2.'\.jpg', $pagename1);?>
                                    ^ Here's your problem

我同意@dtbarne--
preg\u replace()
在这里完全没有必要。您应该改用
str\u replace()

看起来不需要preg\u replace

为什么你不能用str_替换?无论如何,您有一个语法错误(一个额外的句号)


看起来没有必要更换preg_

为什么你不能用str_替换?无论如何,您有一个语法错误(一个额外的句号)

试试这个:

<?php $imageurl = preg_replace('/\.asp/', $g_sites_img2.'\.jpg', $pagename1);?>

注意
preg\u replace()
调用的第二个参数中缺少前导
。此外,不需要第一行,因为您正在将
preg\u replace
的结果写入该变量。

尝试以下操作:

<?php $imageurl = preg_replace('/\.asp/', $g_sites_img2.'\.jpg', $pagename1);?>



注意
preg\u replace()
调用的第二个参数中缺少前导
。另外,不需要第一行,因为您正在将
preg\u replace
的结果写入该变量。

您想实现什么?你的代码做了什么不应该做的事情?什么是你的代码没有做到它应该做的?你期望发生什么?相反,它给了我一个分析错误:语法错误,意外“.”在/home/game1/public\u html/include/standard\u images\u屏幕截图\u 2.php第1行代码取页面名称,然后将其转换为图像,然后使用imagick(获取图像),然后将图像插入页面。您要完成什么?你的代码做了什么不应该做的事情?什么是你的代码没有做到它应该做的?你期望发生什么?相反会发生什么?它给了我一个解析错误:语法错误,意外“.”在/home/game1/public\u html/includes/standard\u images\u screenshot\u 2.php的第1行代码获取页面名称,并将其转换为图像,然后使用imagick(获取图像),然后将图像插入页面。谢谢Rafe,我喜欢你用来强调问题的方式!preg_replace和str_replace有什么区别?@Gerald preg_replace接受一个正则表达式,str_replace只接受一个普通的旧字符串。在你的例子中,你只是在替换一个普通的旧字符串,所以你不需要正则表达式。我是PHP新手,多年来一直使用ASP编写代码,我必须说我对所有随附的各种函数印象深刻PHP@Gerald这真是一个PITA,因为有一万亿个函数,名称和参数不一致,在全局名称空间中有所有。那里有很多东西,但是很乱。谢谢雷夫,我喜欢你用来强调问题的方式!preg_replace和str_replace有什么区别?@Gerald preg_replace接受一个正则表达式,str_replace只接受一个普通的旧字符串。在你的例子中,你只是在替换一个普通的旧字符串,所以你不需要正则表达式。我是PHP新手,多年来一直使用ASP编写代码,我必须说我对所有随附的各种函数印象深刻PHP@Gerald这真是一个PITA,因为有一万亿个函数,名称和参数不一致,在全局名称空间中有所有。那里有很多东西,但是很乱。