0

私は助けの吸血鬼になりたくありません。私はただ一般的な方向性、またはこれを可能にするためにどの技術を使用しなければならないかを尋ねています。

私は次のような文字列を持っています:

joke<br>kid<br>forreal<br>me

どのように私はそれをこのようなものに変えるでしょうか:

<a href="http://www.dumbsearch.com/chat/user.php?q=joke">joke</a><br>
<a href="http://www.dumbsearch.com/chat/user.php?q=kid">kid</a><br>
<a href="http://www.dumbsearch.com/chat/user.php?q=forreal">forreal</a><br>
<a href="http://www.dumbsearch.com/chat/user.php?q=me">me</a><br>
4

3 に答える 3

1

あなたが探しているのは爆発です。

$string = "...";

// split the string on every "<br>"
$users = explode("<br>", $string);

// loop through the users, adding the anchor
for ($i = 0, $count = count($users); $i < $count; $i++)
{
    echo '<a href="http://www.dumbsearch.com/chat/user.php?q=' . $users[$i] . '">'  . $users[$i] . '</a>';

    // add "<br>" to every user except the last
    if ($i < ($count - 1))
        echo "<br>";
}
于 2013-02-07T01:20:23.087 に答える
1

文字列を で区切ることでこれを行うことができ、PHP Explode<br>を使用してこれを実現できます。

これにより配列が得られ、それをループして、必要に応じてhtmlテキストを生成する必要があります

あなたがコードを書き込もうとした場合、それははるかに良いでしょう:)

書くことができなかった場合は、私たちがお手伝いできるかもしれません

コード編集

$string = "joke<br>kid<br>forreal<br>me";

$tags = explode("<br>", $string);

$new = array(); 

foreach($tags as $tag)
{
    $new[] = '<a href="http://www.dumbsearch.com/chat/user.php?q=' . $tag . '">'  . $tag . '</a>';

}

echo implode("<br>", $new);
于 2013-02-07T01:22:22.283 に答える
0

PHP には、組み込みの DOM パーサーがいくつかあります:DOMDocumentおよびSimpleXML. 私の経験では、後者は読み取りと単純な操作に適していますが、前者はより複雑な操作に適しています。

DOMDocument文字列内のテキストノードを見つけて、それらをそれぞれのアンカーでラップまたは置換するために使用したいようです。

phpQueryはオプションかもしれませんが、PHP ネイティブではありません。

于 2013-02-07T01:17:34.507 に答える