billli Posted February 23, 2010 Share Posted February 23, 2010 Sorry to double post... :/ Hi! I'm trying to convert two wiki like tags to their html counter part. ie) [[WikiPage]] => <a href="index.php?p=wiki/view&page=WikiPage" rel="nofollow" title="WikiPage">WikiPage</a> and [[WikiPage|Title]] => <a href="index.php?p=wiki/view&page=WikiPage" rel="nofollow" title="Title">Title</a> $string = htmlentities($string); $simple_search = array( '/\[\[(.*?!\|)\|(.*?)\]\]/is', '/\[\[(.*?)\]\]/is'); $simple_replace = array( '<a href="index.php?p=wiki/view&page=$1" rel="nofollow" title="$2">$2</a>', '<a href="index.php?p=wiki/view&page=$1" rel="nofollow" title="$1">$1</a>' ); Could anyone help me with the two regular expressions? Thanks Link to comment https://forums.phpfreaks.com/topic/193024-mediawiki-format-to-html-link/ Share on other sites More sharing options...
sader Posted February 23, 2010 Share Posted February 23, 2010 I am not uber good at regexp but one way I see is this: function match_wiki_tag($match) { $page = $match[1]; $title = ($match[3] && $match[2]) ? $match[3] : $match[1]; return '<a href="index.php?p=wiki/view&page='.$page.'" rel="nofollow" title="'.$title.'">'.$title.'</a>'; } preg_replace_callback('/\\[\\[([^|]+?)(\\|(.+?))?\\]\\]/i', 'match_wiki_tag', $str); Link to comment https://forums.phpfreaks.com/topic/193024-mediawiki-format-to-html-link/#findComment-1016558 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.