有人可以幫我構建一個preg_match模式來匹配這個數據嗎?我需要一個正則表達式來解析FTP URL
我有這樣
ftp://username:[email protected] <br>
ftp://username:[email protected] <br>
ftp://username:[email protected] <br>
ECT數據
我想的的preg_match到
感謝
有人可以幫我構建一個preg_match模式來匹配這個數據嗎?我需要一個正則表達式來解析FTP URL
我有這樣
ftp://username:[email protected] <br>
ftp://username:[email protected] <br>
ftp://username:[email protected] <br>
ECT數據
我想的的preg_match到
感謝
匹配每條線作爲一個變量,和使用,在一個foreach循環你不需要preg_match。你可以使用爆炸。請確保在爆炸後使用array_pop以消除最後一個空鍵。
<?php
$linkArray = explode(" <br>",$links);
array_pop($linkArray);
?>
現在,數組的每個值都將包含鏈接,但不包含「br」標籤。我認爲應該這樣做。
你的數據是以下方式嗎?
$str= "ftp://username:[email protected] <br>
ftp://username:[email protected] <br>
ftp://username:[email protected] <br>";
如果是,我的解決方案將工作。
不,爆炸只是讓我回到整個字符串,我需要將字符串分爲數組變量 –
所有三個url線都在一個字符串? –
'list($ var1,$ var2,$ var3)= explode(...)'? –
在簡單的情況下,它是...但你應該檢查rfcs,看看在這樣的URL中允許或不允許使用哪些字符。
<?php
$lines=explode("\n","ftp://username:[email protected] <br>
ftp://username:[email protected] <br>
tp://username:[email protected] <br>
ftp://username:[email protected] <br>");
foreach ($lines as $line) {
if (preg_match('/^ftp:\/\/[\da-z]+:[^\@]+\@[^\s]+ <br>\s*$/',$line)) {echo "$line is ok\n";}
}
分割線時會出現什麼問題?你想要什麼正則表達式?如果您正在嘗試獲取URL的組件,請查看'parse_url()'。 http://php.net/manual/en/function.parse-url.php – Brad