簡體   English   中英

如何用破折號替換空格

[英]How to replace whitespaces with dashes

我的想法是刪除特殊字符和html代碼,並將空格替換為破折號,讓我們逐步進行操作

$text = "Hello world)<b> (*&^%$#@! it's me: and; love you.<p>";

現在,我希望輸出成為“ Hello-world-its-me-and-love-you已經厭倦了此代碼,以刪除特殊字符和html代碼

$array = array();
$array[0] = "/<.+?>/";
$array[1] = "/[^a-zA-Z0-9 ]/";

$textout= preg_replace($array,"",$text);

現在輸出將像是Hello world its me and love you所以有什么辦法可以修改此代碼,以便文本輸出變得精確,因為我確實需要Hello-world-its-me-and-love-you

〜謝謝

您最好使用strip_tags為您擺脫html標記,然后使用正則表達式刪除所有非字母數字(或非空格)字符。 然后,您可以簡單地使用str_replace將空格轉換為連字符。 注意,我還添加了一行以將多個空格折疊到一個空格中,因為這是您在示例中所做的。 否則,您將獲得world--its-me而不是world-its-me

<?php    
    $text = "Hello world)<b> (*&^%$#@! it's me: and; love you.<p>";
    $text = strip_tags($text);
    $text = preg_replace('/[^a-zA-Z0-9 ]/', '', $text);

    //this is if you want to collapse multiple spaces to one
    $text = str_replace ('  ', ' ', $text); 

    $text = str_replace (' ', '-', $text);
?>

您可以添加

$textout = str_replace(' ', '-', $textout);

在最后一行之后,用連字符替換空格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM