【问题标题】:PHP echo php but replace any space [duplicate]PHP echo php但替换任何空格[重复]
【发布时间】:2018-10-23 08:56:05
【问题描述】:

您好,我正在回显一个字段名称,该名称将成为 url 的一部分。但是,名称本身包含大写字母,因此我在回声中将它们全部降低了。但是单词之间有空格。有没有办法我也可以用回声上的 hiphen 替换这里的任何空格?

<?php echo strtolower($row["myfield"]); ?>

【问题讨论】:

  • 你听说过str_replace吗?使用有什么问题吗?
  • 试试&lt;?php echo str_replace(' ','-', strtolower($row["myfield"])); ?&gt;

标签: php


【解决方案1】:

您可以简单地将空格替换为另一个字符串:

<?php echo str_replace(' ', '-', strtolower($row["myfield"])); ?>

混合 str_replace ( 混合 $search , 混合 $replace , 混合 $subject [, int &$count ])

文档: https://secure.php.net/manual/en/function.str-replace.php

【讨论】:

  • 如果 OP 要求用连字符替换,为什么空格应该被替换?
  • 哦,误读了问题。编辑了我的答案。
【解决方案2】:

对于空格,使用 str_replace:

   <?php echo str_replace(' ', '',strtolower($row["myfield"])); ?>

对于所有空格,使用 preg_replace:

  <?php echo  preg_replace('/\s+/', '', strtolower($row["myfield"])); ?>

【讨论】:

    【解决方案3】:
    <?php
     echo strtolower(str_replace(" ","-",$row["myfield"]));
    

    基于下面的 cmets。 这段代码做了两个操作,首先取“myfield”并用连字符替换空格,它使用 php 的 str_replace() 函数来完成。此函数返回一个字符串,然后将其与 strtolower 结合使用以降低所有字母。

    【讨论】:

    • 只有代码的答案质量不高。更好的答案将解释代码的工作原理以及它如何解决问题。
    猜你喜欢
    • 2013-07-03
    • 2016-10-21
    • 1970-01-01
    • 2011-10-06
    • 1970-01-01
    • 2012-10-24
    • 2011-02-20
    • 1970-01-01
    相关资源
    最近更新 更多