如何在PHP循环中将标签作为纯文本回显?

时间:2015-10-22 10:06:25

标签: php html mysql

我想使用while循环来回显包含相应标记的xml结构。但是,在下面的示例中,需要打印标签,以便可以将文档复制到其他位置:

<?php 
while ($row = mysqli_fetch_array($execute)) { 
echo "<name>".$row['name']."</name>";
}
?>

在这种情况下,while循环按预期执行,但是开始和结束标记不会以纯文本形式打印。我需要将它们打印在屏幕上,以便我可以将制作的文本复制到其他地方。

7 个答案:

答案 0 :(得分:3)

您可以将&lt;用于&lt;和&gt; for&gt;

像这样:

<?php 
while ($row = mysqli_fetch_array($execute)) { 
echo "&lt;name&gt;".$row['name']."&lt;/name&gt;";
}
?>

或者像这样:

<?php 
while ($row = mysqli_fetch_array($execute)) { 
echo htmlspecialchars("<name>".$row['name']."</name>");
}
?>

答案 1 :(得分:3)

if (mPhasset.mediaType == PHAssetMediaTypeImage) { PHContentEditingInputRequestOptions * options = [[PHContentEditingInputRequestOptions alloc]init]; options.canHandleAdjustmentData = ^BOOL(PHAdjustmentData *adjustmeta){ return YES; }; [mPhasset requestContentEditingInputWithOptions:options completionHandler:^(PHContentEditingInput * _Nullable contentEditingInput, NSDictionary * _Nonnull info) { dataResponse(contentEditingInput.fullSizeImageURL); }]; }else if(mPhasset.mediaType == PHAssetMediaTypeVideo){ PHVideoRequestOptions *options = [[PHVideoRequestOptions alloc] init]; options.version = PHVideoRequestOptionsVersionOriginal; [[PHImageManager defaultManager] requestAVAssetForVideo:mPhasset options:options resultHandler:^(AVAsset *asset, AVAudioMix *audioMix, NSDictionary *info) { if ([asset isKindOfClass:[AVURLAsset class]]) { NSURL *localVideoUrl = [(AVURLAsset *)asset URL]; dataResponse(localVideoUrl); } }]; } 改为<,将&lt;改为>

答案 2 :(得分:0)

请考虑在php模块的内置htmlentitieshtmlspecialchars函数中包装您的数据。

<?php 
    while ($row = mysqli_fetch_array($execute)) { 
        $var =  "<name>".$row['name']."</name>";
        $answer = htmlspecialchars(htmlentities($var));
        echo $answer ;
    }
?>

答案 3 :(得分:0)

使用htmlentities将纯文本替换为html实体。

<?php 
    while ($row = mysqli_fetch_array($execute)) { 
         echo htmlentities("<name>".$row['name']."</name>");
    }

答案 4 :(得分:0)

您可以让PHP自动为您转换,而不必记住所有HTML实体:

<?php 
while ($row = mysqli_fetch_array($execute)) { 
    echo htmlentities("<name>".$row['name']."</name>");
}
?>

答案 5 :(得分:0)

如果我理解问题: 使用htmlspecialchars()函数;

但您可以从页面源(ctr + u在FF和Chrome中)复制它,或在OS shell中执行php并将结果保存到文件中。

答案 6 :(得分:-1)

默认情况下,浏览器会尝试将字符串中的标记呈现为普通HTML。您应该阻止此默认操作。你可以做两件事:

一个:是使用htmlentities函数,它会将HTML标记中使用的字符替换为HTML实体。

<?php 
    while ($row = mysqli_fetch_array($execute)) { 
        echo htmlentities("<name>".$row['name']."</name>");
    }
?>

两个:您可以使用<pre> $str </pre>代码,假设您的文字已预先格式化,浏览器不会更改您的任何字符。

<pre><?php 
    while ($row = mysqli_fetch_array($execute)) { 
        echo "<name>".$row['name']."</name>";
    }
?></pre>