使用substr()从字符串中删除最后一个字符不起作用

时间:2016-09-03 13:46:35

标签: php html templates gmail substr

我正在尝试从GMAIL原始电子邮件视图中获取HTML模板,问题是gmail会在每行的末尾添加=个字符。

我使用foreach循环遍历这些行并删除" ="性格,但它仍然没有工作。

我还有if语句来验证角色是否存在。

示例GMAIL原始视图行:

    body[dir=3Drtl] .directional_text_wrapper { direction: rtl; unicode-bid=
i: embed; }

  </style>
</head>
<body lang=3D"en-us" style=3D"width:100%!important;margin:0;padding:0">
  <div style=3D"padding:10px;line-height:18px;font-family:&#39;Lucida Grand=
e&#39;,Verdana,Arial,sans-serif;font-size:12px;color:#444444">

代码:

<?php

$original_email=file("original.html");
foreach ($original_email as   $line) 
 {
    $sbstr=substr($line,-2,1);
    if( $sbstr == "="){
        echo $substr;
    }

 }


?>

更新

我尝试过使用rtrim()功能但没有运气。

更新的代码:

<?php

    $original_email=file("original.html");
    foreach ($original_email as   $line) 
     {
        /*
        $sbstr=substr($line,-2,1);
        if( $sbstr == "="){
            echo $substr;
        }
        */
        rtrim($line,"=");

     }


    ?>

4 个答案:

答案 0 :(得分:1)

您可以使用PHP函数rtrim

  

rtrim - 从字符串末尾删除空格(或其他字符)

使用以下语法删除行尾的=

$line = rtrim($line, "=");

答案 1 :(得分:1)

使用rtim功能

rtrim ( $sbstr,"=")

答案 2 :(得分:1)

尝试使用trim首先修剪字符,然后rtrim'='字符。

$line = trim($line);
$line = rtrim($line,'=');

答案 3 :(得分:0)

我删除了&#34; 3D&#34;在每一行中添加,并创建一个循环,切断行的末尾并检查它是否等于"=",如果是,则使用substr删除它。

<?php

$original_email=file("original.html");
foreach ($original_email as   $line) 
 {
$line=str_replace("3D","",$line);
if($sbstr=substr($line,-2,1) == "=")
{
$ln=substr($line,0,strlen($line)-2);
    echo htmlentities($ln)."<br>";
}
}


?>