Php 将html锚定转换为wiki锚定语法的正则表达式
我的页面包含很多锚,我必须将html放入wiki页面。如何在php中将锚转换为wiki url 例如:Php 将html锚定转换为wiki锚定语法的正则表达式,php,html,regex,wiki,mediawiki,Php,Html,Regex,Wiki,Mediawiki,我的页面包含很多锚,我必须将html放入wiki页面。如何在php中将锚转换为wiki url 例如: 将是[http://www.php.net/manual/en/memcached.add.php 添加]我认为这应该是可行的: <?php echo $output = preg_replace("/<a\s+href\s*=\s*['\"]?(.+)['\"]?\s*>(.+)<\/a>/", "[$1 $2]", "<a href
将是[http://www.php.net/manual/en/memcached.add.php 添加]
我认为这应该是可行的:
<?php
echo $output = preg_replace("/<a\s+href\s*=\s*['\"]?(.+)['\"]?\s*>(.+)<\/a>/",
"[$1 $2]",
"<a href=http://www.php.net/manual/en/memcached.add.php>add </a>");
?>
那么:
echo preg_replace('#<a.+href="(.+?)".*?>\s*(.+?)\s*</a>#', "[$1 $2]",
'<a href="http://www.php.net/manual/en/memcached.add.php">add </a>');
警告:preg_replace():未知修饰符“(”对不起,我忘了添加开头和结尾分隔符,请立即尝试。这次我用在线检查器进行了测试:)我不想要href。所有锚href都将位于“”而不是双引号。我不知怎的忘记了这一点。现在应该可以了,但我在手机上,在我的新编辑通过代码板中的示例之前,我不能重复检查。如果引用发生,它将适当地捕捉它们,如果没有:)那么
?@Qtax呢?那么它将被剥离。bcaz wiki不会接受这个吗?在*之后不需要。*意味着optional@JustinPihony:是的。使*
非贪婪。
[http://www.php.net/manual/en/memcached.add.php add]