【发布时间】:2013-04-10 14:46:12
【问题描述】:
根据我在这里回答的一个问题 (Use PHP to Replace HTML with HTML),我希望能够过滤我的电子邮件地址的输出文本,并将这些文本电子邮件转换为“mailto”链接。
这是有效的 PHP 代码,但仅用于将某些 HTML 转换为其他 HTML。我试图做的是让这个函数查找一个电子邮件地址,并将其转换为“mailto”链接。无论出于何种原因,代码都不会转换电子邮件地址。这是我的 PHP:
function text_filter($string) {
$search = array('<p>__</p>', '/[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/');
$replace = array('<hr />', '<a href="mailto:$2">$2</a>');
$processed_string = str_replace($search, $replace, $string);
echo $processed_string;
}
当我使用这个函数进行输出时,代码是这样的:
<?php text_filter( get_the_content() ); ?>
【问题讨论】:
-
我们知道函数调用是什么样的,向我们展示输出。 edit:实际上,我可以告诉你它不起作用,因为
str_replace()不识别正则表达式。使用preg_replace()。