Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将html锚定转换为wiki锚定语法的正则表达式_Php_Html_Regex_Wiki_Mediawiki - Fatal编程技术网

Php 将html锚定转换为wiki锚定语法的正则表达式

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

我的页面包含很多锚,我必须将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>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]