第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何將 foreach 循環(huán)中的字符串與 PHP 中的 preg_split 匹配

如何將 foreach 循環(huán)中的字符串與 PHP 中的 preg_split 匹配

PHP
呼喚遠(yuǎn)方 2022-09-03 14:45:13
我有2個(gè)部分的數(shù)據(jù)與這個(gè)分離器|$data = 'hello | Hello thereprice | Lets talk about our support.how are you ?| Im fine ';我的靜態(tài)單詞是$word= 'price'我的代碼 $msg = array_filter(array_map('trim', explode("\n", $data))); foreach ($msg as $singleLine) {            $partition = preg_split("/[|]+/", trim($singleLine), '2');            $part1 = strtolower($partition[0]);            }如何匹配數(shù)據(jù)?我需要結(jié)果如下:Let's talk about our support
查看完整描述

2 回答

?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以使用單個(gè)正則表達(dá)式方法:

'~^\h*price\h*\|\h*\K.*\S~m'

觀看正則表達(dá)式演示

  • ^- 一行的開始(由于修飾符)m

  • \h*- 0+水平空格

  • price- 你的靜態(tài)單詞

  • \h*\|\h* - |用 0+ 個(gè)水平空格括起來(lái)

  • \K- 匹配重置運(yùn)算符,丟棄到目前為止匹配的文本

  • .*\S- 除換行符以外的 0 個(gè)以上字符,盡可能多,直到行上的最后一個(gè)非空格字符(包括它)。

PHP 代碼

if (preg_match('~^\h*' . preg_quote($word, '~') . '\h*\|\h*\K.*\S~m', $data, $match)) {
    echo $match[0];
}


查看完整回答
反對(duì) 回復(fù) 2022-09-03
?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

Wiktor的答案似乎不錯(cuò),但您可能希望將數(shù)據(jù)轉(zhuǎn)換為數(shù)組。key -> value


如果是這種情況,您可以執(zhí)行以下操作:


$avp = [];

if (preg_match_all('/^ \h* (?<key>[^|]+?) \h* \| \h* (?<value>[^$]+?) \h* $/mx', $data, $matches, PREG_SET_ORDER)) {

  foreach ($matches as [, $key, $value]) {

    $avp[$key] = $value;

  }

}


$word = 'price';

echo $avp[$word];  // Lets talk about our support.

演示:https://3v4l.org/uMBAg


查看完整回答
反對(duì) 回復(fù) 2022-09-03
  • 2 回答
  • 0 關(guān)注
  • 120 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)