このデータに一致するように preg_match パターンを構築するのを手伝ってくれる人はいますか?
このようなデータがあります
ftp://username:password@server <br>
ftp://username:password@server <br>
ftp://username:password@server <br>
ect
preg_match で各行を変数として照合し、それを foreach ループで使用したい
ありがとう
preg_match は必要ありません。爆発を使用できます。最後の空のキーを削除するには、爆発後に必ず array_pop を使用してください。
<?php
$linkArray = explode(" <br>",$links);
array_pop($linkArray);
?>
これで、配列の各値にはリンクが含まれますが、「br」タグは含まれません。そうすべきだと思います。
あなたのデータは次のようになっていますか?
$str= "ftp://username:password@server <br>
ftp://username:password@server <br>
ftp://username:password@server <br>";
はいの場合、私のソリューションは機能します。
単純なケースでは... しかし、RFC をチェックして、そのような URL で許可されている文字と許可されていない文字を確認する必要があります。
<?php
$lines=explode("\n","ftp://username:password@server <br>
ftp://username:password@server <br>
tp://username:password@server <br>
ftp://username:password@server <br>");
foreach ($lines as $line) {
if (preg_match('/^ftp:\/\/[\da-z]+:[^\@]+\@[^\s]+ <br>\s*$/',$line)) {echo "$line is ok\n";}
}