PHP修剪内容之间的多个空格


PHP Trim Multiple Spaces In Between the content

内容是根据php条件动态生成的。

具有多个空白的示例内容(查看源(

<title>Samsung   Phones Under Rs.20000 </title>

标题如何生成:

$conditional_title = <?php echo $brand; ?><?php echo $os; ?> Phones <?php echo ($prRange !='') ? 'under Rs.'$price' : ''; ?>
<title><?php echo $conditional_title; ?></title>

因此,如果$os条件失败,则内容是用多个空格生成的,我如何在内容之间修剪这些多个空格。

预期输出:

<title>Samsung Phones Under Rs.20000 </title>
$conditional_title= preg_replace( '/'s+/', ' ', $conditional_title);

这应该可以做到,将所有多余的空白修剪成一个单独的空间

您可以使用函数trim((。http://php.net/manual/ru/function.trim.php

<?php
$brand = trim($brand);
$os = trim($os);
$addition = '';
if($prRange != '')
    $addition = 'under Rs.'.$price;
$conditional_title = $brand.' '.$os.' '.Phones.' '.$addition;
?>
<title><?php echo $conditional_title; ?></title>

您可以检查变量是否为空:

$conditional_title = (!empty($brand)?$brand:"").(!empty($os)?$os:"")." Phones ".($prRange !='' ? 'under Rs.'$price' : '');
$conditional_title= preg_replace( '/[ ]+/', ' ', $conditional_title);//removing extra space if there is still any.?>
<title><?php echo $conditional_title; ?></title>

我不明白你为什么在中多次打开和关闭<?php ?>

$conditional_title = <?php echo $brand; ?><?php echo $os; ?> Phones <?php echo ($prRange !='') ? 'under Rs.'$price' : ''; ?>

试试这个:

$conditional_title = <?php echo (isset($brand))?$brand:''; ?><?php echo (isset($os))?$os:''; ?> Phones <?php echo ($prRange !='') ? 'under Rs.'$price' : ''; ?>
<title><?php echo $conditional_title; ?></title>