1
私は古いのJoomlaを使用しています!プラグイン(私は最初の間違いを知っています)。 regexを通していくつかのURL置換を行います。コードは次のとおりです。PHPの正規表現の修正
$row->text = preg_replace_callback('@href=("|\')(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)("|\')@', 'replace_links', $row->text);
問題は、ハイフンを含むURLで壊れてしまうことです。ハイフンを受け入れるために私がどのように変更できるかについての助けは素晴らしいでしょう。
また壊れるreplace_links
機能することができます
function replace_links($matches) {
$match = $matches[0];
$array = array('href=',"'", '"');
$match = str_replace($array, '',$match);
if (strpos($match, JURI::root())) {
return $matches[0];
} else {
$plugin =& JPluginHelper::getPlugin('content', 'linkdisclaimer');
$pluginParams = new JParameter($plugin->params);
$id = $pluginParams->get('disclaimerPage');
$match = "href=\"javascript:linkDisclaimer('".rawurlencode($match)."', '".$id."');\"";
return $match;
}
}
感謝するようなものです。魅力のように働いた。 – mcd