0

コード:

$message = "<a href=\"http://www.stackoverflow.com\" target=\"new\">My link</a>";

function unclick ($message) {
$message = preg_replace("#\<a.+href\=[\"|\'](.+)[\"|\'].*\>.*\<\/a\>#U","$1",$message);
$message = str_replace("mailto:","",$message);
return $message;
}

これは、リンクが次のようになっている場合にのみ機能します。

http://stackoverflow.com/

残念ながら、長いリンクでは機能しません。

http://stackoverflow.com/questions/ask

すべてのリンクからhtmlタグを削除する方法が必要です。ありがとう。

4

3 に答える 3

1

もちろん、ボビンスの強力な回答を投稿できない方法:

HTML を解析する必要がある場合は、DOMDocument

http://www.php.net/manual/en/domdocument.loadhtml.php

于 2011-06-02T16:35:50.977 に答える
0
<pre>
<?php
$input = '<a href="http://www.stackoverflow.com/hello/hi/bye">hello</a>';
$sx = simplexml_load_string($input);
echo ($sx['href']);
?>
</pre>

これを試して。URLがエスケープされていない場合は正しく機能し、次のescaped with \ スクリプトを使用します。

<pre>
<?php
$input = '<a href=\"http://www.stackoverflow.com/hello/hi/bye\">hello</a>';
$input = str_replace('\\','',$input);
$sx = simplexml_load_string($input);
echo ($sx['href']);
?>
</pre>
于 2011-06-02T16:50:11.450 に答える
0

私はあなたのコードをテストしましたが、うまくいきました。

別の解決策:

これは PHP で行う必要がありますか、それとも jQuery で JavaScript を使用できますか?

あなたのタイトルによると:

yourlink.removeAttr('href');

あなたのコードが何をするかによると:

var url = yourlink.attr('href');
于 2011-06-02T16:39:56.000 に答える