亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當滿足條件時將 $content 分解為數組

當滿足條件時將 $content 分解為數組

PHP
開滿天機 2023-09-08 21:30:54
我有一個包含類別名稱的數組$categories_array。我有一個$content包含大字符串的變量(產品描述)我的意圖是爆炸$content成一個數組( $content_array)。那很容易。內容上還包含類別名稱問題如下:類別被命名為Kids and Baby我無法按單詞進行爆炸,因為我想將內容保留kids and baby在同一個數組條目中。我也不能一直查詢,因為這會占用資源。實現這樣的目標的最佳方法是什么:這是原來的$內容:$content = "lorem ipsum bla bla bla cat1 bla bla bla kids and baby";這是我的類別數組:$categories_array = array(    "cat1",    "kids and baby",    "cat3",    ...);這是我的預期輸出:$content_array = array(    "word1",    "word2",    "kids and baby",    "word3");謝謝您的指導。
查看完整描述

1 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

對于每個類別,搜索該類別的內容,并將空格替換為內容中不存在的字符。


然后按空格分解內容(這樣它將把類別文本保持在一起)。


稍后只需將該字符替換回空格即可。


<?php


$content = "lorem ipsum bla bla bla cat1 bla bla bla kids and baby";


$categories_array = array(

    "cat1",

    "kids and baby",

    "cat3",

);  


foreach($categories_array as $category) {

  $content = str_replace($category, str_replace(' ', '·', $category), $content);

}


$content_array = explode(' ', $content);


$content_array = array_map(function ($content) {return str_replace('·', ' ', $content);}, $content_array);


var_dump($content_array);

輸出:


array(10) {

  [0]=>

  string(5) "lorem"

  [1]=>

  string(5) "ipsum"

  [2]=>

  string(3) "bla"

  [3]=>

  string(3) "bla"

  [4]=>

  string(3) "bla"

  [5]=>

  string(4) "cat1"

  [6]=>

  string(3) "bla"

  [7]=>

  string(3) "bla"

  [8]=>

  string(3) "bla"

  [9]=>

  string(13) "kids and baby"

}


查看完整回答
反對 回復 2023-09-08
  • 1 回答
  • 0 關注
  • 103 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號