我想使用while循环来回显包含相应标记的xml结构。但是,在下面的示例中,需要打印标签,以便可以将文档复制到其他位置:
<?php
while ($row = mysqli_fetch_array($execute)) {
echo "<name>".$row['name']."</name>";
}
?>
在这种情况下,while循环按预期执行,但是开始和结束标记不会以纯文本形式打印。我需要将它们打印在屏幕上,以便我可以将制作的文本复制到其他地方。
答案 0 :(得分:3)
您可以将<
用于&lt;和>
for&gt;
像这样:
<?php
while ($row = mysqli_fetch_array($execute)) {
echo "<name>".$row['name']."</name>";
}
?>
或者像这样:
<?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);
}
}];
}
改为<
,将<
改为>
。
答案 2 :(得分:0)
请考虑在php模块的内置htmlentities
和htmlspecialchars
函数中包装您的数据。
<?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>