PHP号码超出文字范围?

时间:2018-09-29 13:30:05

标签: php string

我是新来的。我需要有关php的帮助。

$FullDescriptionLine = Model 23MP48HQ-P|23"|Panel IPS|Resolution 1920x1080|Form factor 16:9|

如何从该字符串中提取23"

谢谢 马丁

5 个答案:

答案 0 :(得分:3)

使用PHP的explode函数在管道(|)上拆分字符串,然后获取该数组的第二个索引(计算机索引中的1)。

$FullDescriptionLine = 'Model 23MP48HQ-P|23"|Panel IPS|Resolution 1920x1080|Form factor 16:9|';
echo explode('|', $FullDescriptionLine)[1];

Online PHP demo

答案 1 :(得分:3)

只需explode()用管道|字符并将其抓取第一个ie 1st 索引,因为数组从0索引开始。

<?php
  $FullDescriptionLine = 'Model 23MP48HQ-P|23"|Panel IPS|Resolution 1920x1080|Form factor 16:9|';
  $array = explode('|',$FullDescriptionLine);
  //just for debug and clearly understand it
  print '<pre>';
  print_r($array);
  print '</pre>';
  echo $array[1];
 ?>

演示: https://3v4l.org/8aGuO

答案 2 :(得分:1)

您可以使用explode功能。它将给定的字符串转换为由定界符分隔的数组元素。它需要两个输入,定界符字符串('|')和要转换为数组块的字符串($FullDescriptionLine)。

现在,在您的情况下,23"在第二个子字符串中(数组索引1-请记住,数组索引从0开始)。爆炸字符串后,您可以使用索引[1]来获取值。

尝试以下操作( Rextester DEMO ):

$FullDescriptionLine = 'Model 23MP48HQ-P|23"|Panel IPS|Resolution 1920x1080|Form factor 16:9|';

// explode the string and access the value
$result = explode('|', $FullDescriptionLine)[1];
echo $result;  // displays 23"

答案 3 :(得分:1)

对于结构化字符串,我建议使用str_getcsv,然后使用第二个参数定义定界符。

$array = str_getcsv('Model 23MP48HQ-P|23"|Panel IPS|Resolution 1920x1080|Form factor 16:9|', '|');
echo $array[1];

https://3v4l.org/7XSDQ

答案 4 :(得分:0)

使用explode()很简单,而且多位用户发布了它。但是还有另一种方式。在preg_match()

中使用正则表达式
preg_match("/\|([^|]+)/", $FullDescriptionLine, $matches);
echo $matches[1];

demo中查看结果