我搜索过,找不到我要找的东西。
通常情况如下:
<p>
Hi how are you? Have you checked <a href="http://www.google.com">Google</a> or <a href="http://www.youtube.com">YouTube</a>?
</p>
但我希望拥有,因为我愿意在打印或PDF页面上应用此内容如下:
<p>
Hi how are you? Have you checked <a href="http://www.google.com">Google</a> (<a href="http://www.google.com">http://www.google.com</a>)
or <a href="http://www.youtube.com">YouTube</a> (<a href="http://www.youtube.com">http://www.youtube.com</a>)?
</p>
现在,我明白应该有一些正则表达式的工作,但我不知道如何使用它。该文本将取自变量$ content,其中包含文章,我想要的是$ content内的所有链接都保留,因为它们加上href的内容作为括号内的附加超链接“() “因此,假设有人在阅读印刷文章时,超链接就能看到实际的URL。
答案 0 :(得分:2)
使用伪元素在链接后添加href
,例如:
a[href]:after
{
content: " (" attr(href) ") ";
}
答案 1 :(得分:0)
这是一个方便的小功能,可能就足够了。
<?php
/**@var string $strInput THE STRING TO BE FILTERED */
function doubleUpOnURL($strInput){
$arrAnchorSplit = preg_split("#<\/a>#", $strInput);
$strOutput = "";
$anchorRegX = '(<a\s*href=[\'\"])(.+)([\'\"]>)(.*)';
foreach($arrAnchorSplit as $anchoredString){
$strOutput .= preg_replace("#" . $anchorRegX . "#si" , "$1$2$3$4</a> ($1$2$3$2</a>)", $anchoredString);
}
return $strOutput;
}
$strInput = '<p>Hi how are you? Have you checked <a href="http://www.google.com">Google</a> or <a href="http://www.youtube.com">YouTube</a>?</p>';
echo(doubleUpOnURL($strInput));
//OUTPUTS:
// Hi how are you? Have you checked Google (http://www.google.com) or YouTube (http://www.youtube.com)?
我希望你觉得它有用......