簡體   English   中英

在php中使用正則表達式檢查字符串並在匹配時進行拆分

[英]using regex in php to check string and split if matched

我有成千上萬個URL,需要檢查並分解為單獨的變量。

我正在搜索的網址看起來像這樣:-

http://www.mydomain.com/facebook-pages/252090964881271-smirnoff

http://www.mydomain.com/facebook-pages/3312880235580-facebook-for-every-phone

http://www.mydomain.com/facebook-pages/2449443856-candy-crush-saga

我想忽略的其他人中沒有數字,例如:

http://www.mydomain.com/facebook-pages/media/

我需要一個正則表達式模式,該模式可以標識以以下內容開頭的字符串:-

http://www.mydomain.com/facebook-pages/並且ALSO包含一系列數字(長度可變)。

然后,我需要提取代碼(數字)和數字之后的文本,例如:

$ pagecode =“ 2449443856

$ pagename =“糖果迷戀傳奇”

從此字符串http://www.mydomain.com/facebook-pages/2449443856-candy-crush-saga

我嘗試了所有不同的正則表達式字符串,但我真的很努力。 有人可以幫忙嗎?

謝謝

喬納森

嘗試這個,

$str = 'http://www.mydomain.com/facebook-pages/2449443856-candy-crush-saga';
if (preg_match('/^http:\/\/www.mydomain.com\/facebook-pages\/([0-9]+)-(.*?)$/si', $str, $match)) {
  $page_no = $match[1];
  $page_name = $match[2];
}
$string = 'http://www.mydomain.com/facebook-pages/2449443856-candy-crush-saga';

if (preg_match('@^http://www.mydomain.com/facebook-pages/([0-9]+)-(.+)$@', $string, $matches)) {
    $pagecode = $matches[1];
    $pagename = $matches[2];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM