如何替换字符串中的 % 符号?

How to replace % symbol from a string?

foreach($data_features as $feature){
    echo $feature['feature'].'<br>'; //string contains % symbol
    $featur =  str_replace("%", "'", $feature['feature']);
    $featur =  str_replace("!", '"',  $feature['feature']);                     
    echo '<li>'.$featur.'</li>'; // string still contains % symbol.
}

此处 $feature['feature'] 是一个包含 % 符号的字符串,我想使用 str_replace 替换 % 符号,但是输出中仍然存在 % 符号。

我发现我的错误是必须放入一个变量然后应用 str_replace operation.Don不知道为什么。

foreach($data_features as $feature){
    $featur = $feature['feature'];
    $featur =  str_replace("%", "'", $featur);
    $featur =  str_replace("!", '"', $featur);                      
    echo '<li>'.$featur.'</li>';
}

这可能对您有帮助:-

<?php 
    error_reporting(E_ALL);
    ini_set('display_errors',1);
    $data_features =  Array ( 
    '0' => Array ( 
            'id' => 1, 
            'product_id' => 1, 
            'feature' => 'Customisation-With an open OS, you%re in control.', 
            'time_added' => '2016-09-28 15:33:28',
            'product_asin' => 'B014UUQUAO' 
        ), 
    '1' => Array ( 
            'id' => 2, 
            'product_id' => 1, 
            'feature' => 'Enhanced Expirences- We believe core experiences like audio, email, and calling can be better. That%s we%re re.', 
            'time_added' => '2016-09-28 15:33:28', 
            'product_asin' => 'B014UUQUAO'
        ),
    '2' => Array ( 
            'id' => 3, 
            'product_id' => 1, 
            'feature' => 'Privacy & Securitye.', 
            'time_added' => '2016-09-28 15:33:28', 
            'product_asin' => 'B014UUQUAO' 
        ) 
 );

echo "<pre/>";print_r($data_features);
foreach($data_features as $feature){
    $featur = $feature['feature'];
    $find = array('/%/', '/!/');
    $replace = array("'", '"');
    $result = preg_replace($find, $replace, $feature['feature']);

    echo '<li>'.$result.'</li>';
}
?>

输出:-https://eval.in/651753

注:-

而不是多个 str_replace(),单个 preg_replace()$find$replace 数组是个好主意。

在不久的将来,如果需要更多的补充,那么只需要更改 $find$replace