explode 相关问题

explode()是一个PHP函数,它根据分隔符拆分字符串,返回一个数组。

在 PHP 中将字符串分解为数组(字符串类似于 WP 短代码)

我正在使用 Laravel 开发一种页面构建器,并尝试实现 WordPress 风格的短代码。我有 HTML 代码作为字符串,如下所示: $字符串=' [标题... 我正在使用 Laravel 开发一种页面构建器,并尝试实现 WordPress 风格的短代码。我有 HTML 代码作为字符串,如下所示: $string = '<div class="temp"> [title type="text" tag="h2" value="This is my cool title" disabled some-attribute] [text type="text" tag="p" value="Lorem ipsum dolor sit amet"] </div>'; 好吧,现在我想提取所有“短代码”(括号中的内容[...])并将其存储在这样的数组中: [ [ "id" => "title", "type" => "text", "tag" => "h2", "value" => "This is my cool title", "disabled" => true, "some-attribute" => true ], [ "id" => "text", "type" => "text", "tag" => "p", "value" => "Lorem ipsum dolor sit amet" ] ] 我的问题是由于“”中的空格而将短代码字符串分解为数组。 这是我的 PHP 代码: // Extract all brackets from the string preg_match_all('/(?<=\[)[^\][]*(?=])/', $string, $matches); $itemsArray = array(); // Explode each shortcode by spaces foreach ($matches[0] as $match) { $shortcode = explode( ' ', $match ); $itemArray = array(); // split shortcode in attributes foreach ($shortcode as $key => $attr) { $temp = explode('=', $attr); // First attribute is the id if ($key === 0) { $itemArray['id'] = $temp[0]; } else { if ( count($temp) > 1 ) { $itemArray[ $temp[0] ] = trim($temp[1],'"'); } else { $itemArray[ $temp[0] ] = true; } } } $itemsArray[] = $itemArray; } 结果很接近,但引号“”中的空格搞砸了字符串的爆炸: [ [ "id" => "title" "type" => "text" "tag" => "h2" "value" => "This" "is" => true "my" => true "cool" => true "title"" => true "disabled" => true "some-attribute" => true ], [ "id" => "text" "type" => "text" "tag" => "p" "value" => "Lorem" "ipsum" => true "dolor" => true "sit" => true "amet"" => true ] ] 如何排除字符串爆炸中的空格? 也许这对你有用?请告诉我 $string = '<div class="temp"> [title type="text" tag="h2" value="This is my cool title" disabled some-attribute] [text type="text" tag="p" value="Lorem ipsum dolor sit amet"] </div>'; preg_match_all('/\[(\w+)([^]]*)\]/', $string, $matches); $itemsArray = array(); foreach ($matches[0] as $match) { preg_match('/\[(\w+)([^]]*)\]/', $match, $shortcodeMatches); $id = $shortcodeMatches[1]; $attributes = $shortcodeMatches[2]; $itemArray = array(); $itemArray['id'] = $id; preg_match_all('/(\w+)=("[^"]*"|\'[^\']*\'|\S+)/', $attributes, $attributeMatches, PREG_SET_ORDER); foreach ($attributeMatches as $attrMatch) { $key = $attrMatch[1]; $value = trim($attrMatch[2], '"\''); $itemArray[$key] = $value; } $itemsArray[] = $itemArray; } print_r($itemsArray);

回答 1 投票 0

为什么php一会儿explode就显示出上面的结果

我在一段时间内进行了一次爆炸,用逗号(,)分隔单词并修复它,以便可以将其放入sql查询中,在第一个样本中,它正确地输出了我想要的内容,但在秒中...

回答 1 投票 0

我正在尝试确定 Yelp 签到最多发生在一天中的什么时间

第一行数据 行(business_id='--1UhMGODdWsrMastO9DZw',日期='2016-04-26 19:49:16、2016-08-30 18:36:57、2016-10-15 02:45:18、2016-11- 18 01:54:50, 2017-04-20 18:39:06, 2017-05-03 17:58:02') 我的

回答 1 投票 0

PHP - 如何替换 '| '来自印地语文本[关闭]

我正在尝试替换每两个“|”与“|”来自以下印地文文本,但它不起作用。 $string = "यहाँ सूरज चमक रहा है। बच्चे खेल रहे हैं। वह फूल खु शबू दे रहा है। बिल्कुल सही कहा। आज मौ...

回答 0 投票 0

使 JSON 格式一致 - Pyspark

两个不同格式的json,转换成单一一致的格式并读入数据框。 >>> df.printSchema() 根 |-- ReplicateRequest:结构(可为空 = 真) | ...

回答 1 投票 0

$_POST 值在迭代和调用 explode() 时下降 [关闭]

我必须从输入表单控件中获取数据范围加上第一个日期的前一天和最后一个日期的后一天,每个控件都具有 dates[] 的名称属性。我试图获得第一个......

回答 1 投票 0

来自文本字段的字符串 - php 不会以相同的方式分解它

这里是一个mysql表中的内容-列类型文本: 对数假设 * * * 苦坐 我使用 php 作为字符串变量得到它,并想通过两个连续的行结束来分解它 $arr = 爆炸(&

回答 0 投票 0

将带有两个分隔符的字符串拆分为两个数组(分解两次)

如何将这串以逗号分隔的维度拆分为两个数组?该字符串中可能有很多项,但它始终具有相同的两个交替分隔符(exe 和逗号)。 $str = &

回答 3 投票 0

PHP,如何将一个字符串拆分为 2 个数组?

我有一个看起来像这样的字符串...... 333333-000000,555555-444444,888888-111111 我可以使用 explode 将所有内容都放入一个数组中,使用逗号作为分隔符,但是我必须分解每个

回答 1 投票 0

在 PHP 中分解没有定界符的完整字符串

如果我得到像 BA00008424BA00008425BA00008426 这样的字符串。我怎样才能将它们分解成: ['BA00008424', 'BA00008425', 'BA00008426'] 从这个例子.. $pizza = "piece1|piece2|piece3|piece4|piece5|

回答 9 投票 0

跨行展开字典,维护其他列 - python

我有一个蛋白质列表(primaryAccession)和我从 UnitProtKB 解析的关于它们的信息。我抓取了 JSON 格式的信息,我正在尝试弄清楚如何编写一个循环

回答 1 投票 0

问题获取数据爆炸类 php 代码不工作

获取数据 php explode 的问题 此代码无效 函数 m_j_price($html){ $res = explode('class="-b -ltr -tal -fs24">E' + 'class="markup -fs12 -pbm">E' , $...

回答 0 投票 0

如何使用 SQL Server 将 json 存储为字符串的列分解/规范化为行和列?

我正在使用 SQL Server,并且有一个列将 json 作为字符串存储在其中。我正在尝试将 json 分解/规范化为新的行和列。下面是这张桌子目前如何定位的图片……

回答 1 投票 0

如何使用 SQL Server 将以字符串形式存储的 json 列分解为行和列?

我正在使用 SQL Server,并且有一个列将 json 作为字符串存储在其中。我正在尝试将 json 分解/规范化为新的行和列。下面是这张桌子目前如何定位的图片……

回答 0 投票 0

如何合并“explode”和“array_unique”

我有两张表,一张用逗号分隔标签, 另一个将相似的标签转换为单个标签。 例子: 我在数据库中得到的分解标签表: 我有两张表,一张用逗号分隔标签, 另一个将相似的标签转换为单个标签。 例子: 我在数据库中得到的分解标签表: <?php foreach ($result as $row) { $explode = explode(",",$row["turler"]); ?> <?php foreach ($explode as $exp) { ?> <?= $exp ;?> <?php } }?> 我要适配放入数组的表格: <?php $vturler=array("tag1","tag2","tag2","tag3","tag1"); $tur = array_unique($vturler); foreach( $tur as $vturler ) { ?> <?php echo "$vturler";?> <?php } ?> 我想把这两个结合起来。 我想将第一个表中的“分解”值包含在底部表中的“数组”中。 我得出一个结论,它奏效了。 这个结果真的是真的吗? <?php foreach ($result as $row) { $explode = explode(",",$row["turler"]); foreach ($explode as $exp) { $vturler=array($exp); } $asker = array_unique($vturler); foreach( $asker as $vturler ) { ?> <a href="turler/<?php echo "$vturler";?>" class="badge badge-lg bg-light m-1"> <?php echo "$vturler";?> </a> <?php } } ?>

回答 1 投票 0

我们如何通过迭代雪花表中的列来创建列列表及其值的数组

将给定的 pyspark 代码转换为雪花兼容代码 df=df.withColumn(“array_mode”,f.explode(f.array([f.array([f.lit(cl),f.col(cl)]) for cl in df.columns[5:] ])]) 我尝试使用 array_constructor

回答 0 投票 0

展开多个不相同值长度的列表列

我正在尝试分解具有多列的数据框,因为列表和长度列表不同。以下是我的数据框: 将熊猫导入为 pd 将 numpy 导入为 np df = pd.DataFrame({'姓名': ['姓名1','

回答 1 投票 0

(PHP)任何人都知道如何将每个 txt 文件行转换为数组,然后打破定界符以便数据可以进入具有 4 个表行的数据表中?

文本文件是我必须使它看起来像数据表,但我对如何将它们放入数组、打破分隔符然后将它们放入 4 个表行感到困惑。 [输入图片描述...

回答 0 投票 0

根据字典列表中的唯一值在熊猫数据框中创建“子”行

举个例子: pd.DataFrame( 索引=["r1", "r2"], 列= [“c1”,“c2”,“c3”,“group_by”], 数据=[ ...

回答 0 投票 0

如何将绘图分解成基元

如何将绘图转换为基元:线、弧、文本、圆,删除所有其他对象(块、样式、组、图层、形状等),这样就没有任何对象不能被保留

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.