【发布时间】:2016-10-15 22:58:30
【问题描述】:
我在 PHP 中有两个函数,trimmer($string,$number) 和 toUrl($string)。例如,我想将使用toUrl() 提取的网址修剪为 20 个字符。从https://www.youtube.com/watch?v=HU3GZTNIZ6M 到https://www.youtube.com/wa...
function trimmer($string,$number) {
$string = substr ($string, 0, $number);
return $string."...";
}
function toUrl($string) {
$regex="/[^\W ]+[^\s]+[.]+[^\" ]+[^\W ]+/i";
$string= preg_replace($regex, "<a href='\\0'>".trimmer("\\0",20)."</a>",$string);
return $string;
}
但问题是匹配返回的值 \\0 不是像 $url 这样的变量,可以使用函数 trimmer() 轻松修剪。
问题是我如何将substr() 应用于\\0 这样的substr("\\0",0,20)?
【问题讨论】:
-
不知道你的问题是什么。
-
谢谢。已添加。
-
你想看
preg_replace_callback()。使用preg_replace(),您可能已经发现,这将无法正常工作。 -
谢谢,但是旧的 php 版本?
标签: php regex preg-replace substr