0
Russel Peter video: <a rel="nofollow" href="http://www.youtube.com/watch?v=2bP9tRhJRTw">www.youtube.com/watch?v=2bP9tRhJRTw</a> russel peters video blah blah. Turtles: <a href="http://turtles.com">turtles.com</a>

上記の例のように、テキストとタグを含む文字列と、囲まれたURLがあります。

最初に見つかったタグのみを削除したい

<a rel="nofollow" href="http://www.youtube.com/watch?v=2bP9tRhJRTw">www.youtube.com/watch?v=2bP9tRhJRTw</a>

そしてそこから、href=""内のURLを取り除きます。

しかし...私はまた、引き出されたタグの周りのテキストを保存できるようにしたいです。

私はすべてのストリッピングの後の最終結果としてこのようなものを探しています:

$originalstring = "Russel Peter video: <a rel="nofollow" href="http://www.youtube.com/watch?v=2bP9tRhJRTw">www.youtube.com/watch?v=2bP9tRhJRTw</a> russel peters video blah blah. Turtles: <a href="http://turtles.com">turtles.com</a>";


$preurl = "Russel Peter video: ";

$atag = "<a rel="nofollow" href="http://www.youtube.com/watch?v=2bP9tRhJRTw">www.youtube.com/watch?v=2bP9tRhJRTw</a>";

$url = "http://www.youtube.com/watch?v=2bP9tRhJRTw";

$afterurl = " russel peters video blah blah. Turtles: <a href="http://turtles.com">turtles.com</a>";

ご協力ありがとうございました

注:間違った用語を使用した場合は、お詫び申し上げます。

4

2 に答える 2

2
$orgstring = 'Russel Peter video: <a rel="nofollow" href="http://www.youtube.com/watch?v=2bP9tRhJRTw">www.youtube.com/watch?v=2bP9tRhJRTw</a> russel peters video blah blah. Turtles: <a href="http://turtles.com">turtles.com</a>';
$s = explode(":",$orgstring,2);
$preurl = $s[0];
$href= explode('href="',$s[1]);
$url=preg_replace("/\">.*/","",$href[1]);
$atag = preg_replace("/\">.*/","",$s[1]);
$after=explode("</a>",$orgstring,2);
$afterurl=$after[1];
print "\$preurl: $preurl\n";
print "\$url: $url\n";
print "\$atag: $atag\n";
print "\$afterurl: $afterurl\n";

出力

$ php test.php
$preurl: Russel Peter video
$url: http://www.youtube.com/watch?v=2bP9tRhJRTw
$atag:  <a rel="nofollow" href="http://www.youtube.com/watch?v=2bP9tRhJRTw
$afterurl:  russel peters video blah blah. Turtles: <a href="http://turtles.com">turtles.com</a>
于 2010-01-15T02:13:29.647 に答える
0

常にスペースで区切られることが確実な場合は、2つの要素の配列を取得するために使用できますexplode($tags, ' ', 2);。1つ目は最初のタグ(URL)で、2つ目は他のすべてのタグです。

于 2010-01-15T01:58:00.207 に答える