【发布时间】:2014-06-18 13:28:51
【问题描述】:
所以我试图在我从 preg_replace 函数获得的 URL 末尾删除几个字符。但是,它似乎不起作用。我不熟悉在 preg_replace 中使用这些变量(这只是我发现“大部分”有效的东西)。
这是我的尝试:
function addlink_replace($string) {
$pattern = '/<ul(.*?)class="slides"(.*?)<img(.*?)src="(.*?)"(.*?)>(.*?)<\/ul>/is';
$URL = substr($4, 0, -8);;
$replacement = '<ul$1class="slides"$2<a rel=\'shadowbox\' href="'.$URL.'"><img$3src="$4"$5></a>$6</ul>';
return preg_replace($pattern, $replacement, $string);
}
add_filter('the_content', 'addlink_replace', 9999);
基本上我需要删除 .jpg 文件名的最后一位,这样我就可以显示 LARGE 图像而不是它生成的 THUMBNAIL,但“$4”似乎不想被操纵。
【问题讨论】:
-
你能只对需要替换的部分进行字符串替换吗?
-
Ibu - 这就是我试图用 $URL 变量和 substr 做的事情。我试图在字符串中获取我的网址“$4”,删除最后 8 个字符,然后在我的替换中使用新变量 $URL。但是我不确定从正则表达式创建的变量可以更改吗?我以前没有尝试过操纵它们。如果我这样做 $URL = 'test';然后“测试”出现在我的代码中。但是尝试使用 $4 我收到一条错误消息,提示 UNEXPECTED '4'
-
如果您为我们提供示例数据会有所帮助。
-
请发布源示例和所需输出,以便我们为您提供进一步帮助。
标签: php regex wordpress html-parsing preg-replace