-1

次のようなHTMLコードを取得しました。

<span rel="url">example.com</span>
<span rel="url">example.net.pl [SOMETHING]</span>
<span rel="url">[SOMETHING]imjustanexample.com</span> [..]

span問題は、タグ間から「url」文字列を取得する方法があるかどうかです。例えば。次のようになります: example.comexample.net.pl[SOMETHING]文字列なし)、およびimjustanexample.com

この目的のために正規表現を使用する必要があると思います。

4

4 に答える 4

0

これは機能するはずです:

$str = '<span rel="url">http://google.ca</span>';
$match = preg_match('#<span(.*)?>((http|https|ftp)://(\S*?\.\S*?))(\s|\;|\)|\]|\[|\{|\}|,|"|\'|:|\<|$|\.\s)</span>#i', $str, $matches);
if($match)
    var_dump($matches);
else
    echo 'Nope<br />';

正規表現:https ://stackoverflow.com/a/206087/1533203

于 2012-12-24T22:46:08.637 に答える
0

私はこのように行きます(あなたが好むように、正規表現または単なるPHPコードのいずれかで):

  1. 次の "" を探す
  2. 末尾から次の (ただし含まない) スペースまたは下位記号<(どちらか最初に来る方) まですべてを取得します。
  3. 何も一致しなくなるまで繰り返します。

終わり。正規表現が複雑すぎる場合は、文字列関数http://php.net/stringsを使用することもできます。

于 2012-12-24T09:30:49.127 に答える
0

この正規表現を JavaScript で試してください。

/((http|https):\/\/(\w+:{0,1}\w*@)?(\S+)|)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/

span タグのテキストを検証する

于 2012-12-24T07:39:03.800 に答える
-1

Simple HTML Dom Parser(ここ)をチェックしてください。

これを使用すると、DOMツリーの要素に簡単にアクセスできます。

あなたの問題は次の方法で解決できます:

  $html->find("span[rel=url]");

そして、すべての要素とニーズに合った正規表現でループを使用するだけで済みます。

于 2012-12-24T07:38:15.730 に答える