整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

和HTML标签相关的字符串格式化

HTML标签相关的字符串格式化

string nl2br ( string $string )

nl2br() 就是将\n 替换成 <br> //javascript对\n才能够执行换行,对</br>是不能执行换行

htmlspecialchars() 把一些预定义的字符转换为 HTML 实体。

string htmlspecialchars(string,quotestyle,[character-set])

转换以下字符及对应的实体

& (和号) 成为 &
" (双引号) 成为 "
' (单引号) 成为 '
< (小于) 成为 <
> (大于) 成为 >

第二个参数: ENT_COMPAT 只转换双引号, 保留单引号, 为默认值 compat: 兼容性

ENT_QUOTES 同时转换两种引号 quotes: 引号

ENT_NOQUOTES 不对引号进行转换

<html>
<body>
<?php
$str = "John & \" 'Adams'";
echo htmlspecialchars($str, ENT_COMPAT);
echo "<br />";
echo htmlspecialchars($str, ENT_QUOTES);
echo "<br />";
echo htmlspecialchars($str, ENT_NOQUOTES);
?>
</body>
</html>

输出结果:John & " 'Adams'

John & " 'Adams'

John & " 'Adams'

htmlentities() 可以将所有的非ASCII码字符转换为对应的实体代码;除字母、数字、\外, 汉字和键盘上其他字符都转换

<?php
$str = "A 'quote' \" is <b>bold</b>" ;
echo htmlentities ( $str ); // 输出后源代码: A 'quote' is <b>bold</b>
echo htmlentities ( $str , ENT_QUOTES ); // 输出后源代码: A 'quote' is <b>bold</b>
?>

返回的结果:A 'quote' "is <b>bold</b>

A 'quote' "is <b>bold</b>

注意: htmlspecialchars()和htmlentities作用直接输出HTML脚本

htmlspecialchars()和htmlentities()函数对于转义字符"\"处理,不会转义实体代码,要么当转义字符对待,要么原样输出;

PHP中htmlentities和htmlspecialchars的区别

这两个函数的功能都是转换字符为HTML字符编码, 特别是url和代码字符串。防止字符标记被浏览器执行。

使用中文时没什么区别, 但htmlentities会格式化中文字符使得中文输入是乱码。

htmlentities转换所有的html标记, htmlspecialchars只格式化& ' " < 和 > 这几个特殊符号

addslashes() 在指定的预定义字符前添加反斜杠。

这些预定义字符是:单引号 (') 双引号 (") 反斜杠 (\) NULL字符(\x00)

提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。

注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE数据自动运行 addslashes()。

不要对已经被magic_quotes_gpc转义过的字符串使用 addslashes(),因为这样会导致双层转义。

遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。(如:$c=(!get_magic_quotes_gpc())?addslashes($c):$c;)

在本例中,我们要向字符串中的预定义字符添加反斜杠:

<?php
$str = "Who's John Adams?";
echo $str . " This is not safe in a database query.<br />";
echo addslashes($str) . " This is safe in a database query.";
?>

输出:

Who's John Adams? This is not safe in a database query.

Who\'s John Adams? This is safe in a database query.

<?php
header("Content-type:text/html; charset=utf-8");
$str = "wo are \x0a studying \x00 php";
echo $str;
echo "<br>";
echo addslashes($str);
?>

输出:

wo are studying php

wo are studying >wo are studying \0 php< php



stripslashes() 删除反斜线("\")

在提交的表单数据中 ' " \ 等字符前被自动加上一个\ ,这是配置文件php.ini中选项magic_quotes_gpc在起作用,

默认是打开的,如果不处理则将数据保存到数据库时,有可能会被数据库误当成控制符号而引起错误。

通常htmlspecialchars()和stripslashes()函数复合的方式,联合处理表单中的提交的数据htmlspecialchars(stripslashes())

strip_tags()

string strip_tags ( string $str [, string $allowable_tags ] )

剥去 HTML、XML 以及 PHP 的标签。

<?php
echo strip_tags("Hello <b><i>world!</i></b>","<b>");
?>

输出结果:Hello world!

实例:

<?php
$str = "<b>webserver;</b> & \ 'Linux' & Apache";
echo "$str"; //直接输出
echo "<br/>";
echo htmlspecialchars($str,ENT_COMPAT); //只转换双引号,为默认参数
echo "<br />";
echo htmlspecialchars($str,ENT_NOQUOTES); //不对引号进行转换
echo "<br />";
echo htmlspecialchars($str,ENT_QUOTES); //同时转换单引号和双引号
echo "<br />";
echo htmlentities($str); //将所有的非ASCII码字符转换为对应的实体代码
echo "<br />";
echo addslashes($str); //将" ' \ 字符前添加反斜线
echo "<br />";
echo stripslashes($str); //删除反斜线
echo "<br />";
echo strip_tags($str); //删除<html>标记
?>

输出结果:

webserver; & \ 'Linux' & Apache

击关注,快速进阶高级架构师

作者:hoxis

最近群友提了一个问题,爬虫时,发现被爬网址最后不加 /,就出现一直没有正确响应的情况,我打开浏览器的调试模式看了下,发现不加 / 时,地址返回的是 301 MOVED PERMANENTLY,怪不得哦~

但是我也发现有些网址结尾带有斜杠,而有的网址后面没有带斜杠,这个斜杠到底是干嘛的?加不加有什么区别呢?又为什么我们在浏览器地址栏上打出一个网址,按回车后地址末尾会自动加上一个反斜杠?

很诡异是吧!好了,借这个东风,推广一下小知识。

在传统意义上说,网址末尾是没有反斜杠的。有没有反斜杠的意义在于该 url 是指向一个文件还是一个目录。

举个栗子:

http://www.abc.com/abc
http://www.abc.com/abc/

末尾带斜杠 / 的是目录/abc/,不带的是文件/abc,是两个不同的地址。一般来说,索引页面(如文章列表)作为目录,而内容页面作为文件。

对于服务器来说,如果访问目录,则会根据规则访问改目录下的默认文件(index.html、index.htm之类)。如访问/abc/服务器会寻找/abc/index.html文件,而访问/abc服务器则会寻找/abc文件。

对于用户来说,在大多数情况下这两个网址没有任何区别,他们访问的都是网站 abc 目录下的默认首页。一般用户也都知道最后一个斜杠是可有可无的,他们输入网址的时候一般都只会输入 http://www.abc.com/abc。

当 Web 服务器接收到某个末尾不含斜杠的 url 请求时,例如 http://www.abc.com/abc,这时服务器会搜索网站根目录下有没有名为 abc 的文件,如果没有就把 abc 当做目录处理,然后返回 abc 目录下的默认首页。

当 Web 服务器接收到的是末尾带斜杠的请求时就会直接当做目录处理,返回 abc 目录下的默认首页。

这样一来加上反斜杠就会加快网站加载速度。对于网站所在的服务器,网址没有加上反斜杠会给服务器增加一个查找是否有同名文件的过程,这明显会增加服务器的负担,当然这个影响并不会很大,但如果你的网站的直接流量很大,那么给 url 末尾加上反斜杠便能较大的减轻服务器的负担了。

当然给网址末尾加上反斜杠还有其他的好处:

  1. 在 seo 方面考虑,习惯性的给自己网站的网址末尾加上反斜杠能避免重复内容。正如域名中是否带 www 的问题,url 末尾是否有反斜杠也会造成重复内容的问题,这对于网站的 seo 无疑是不利的,要知道,重复内容绝对是 seo 的大忌。
  2. 因为服务器对 url 不能正确解析,有可能会出现 404 错误,习惯地给网址末尾加上反斜杠则可以避免这种情况。

总的来说给网址末尾加上反斜杠对对网站建设者是有很大好处的,这可以说是网站建设者应该养成的一个好习惯。当然,在交换友情链接时别忘了提醒一下对方,记得为你的网站 url 末尾加上反斜杠了。

链接:https://www.jianshu.com/p/a53843518469

arkdown 起源:

Markdown 是由约翰·格鲁伯(John Gruber)和亚伦·斯沃茨(Aaron Swartz)共同创造的一种轻量级标记语言。它于2004年首次发布,旨在提供一种易于编写和阅读的文本格式,以便将内容转换为结构良好的 HTML。Markdown 的设计目标是让人们专注于内容,而不是样式。

markdown - 简洁易用的标记语言

Markdown 的起源可以追溯到格鲁伯的一篇博文,他提出了一种简单的标记语法,以解决 HTML 编写过程中繁琐的问题。斯沃茨对此表示了兴趣,并与格鲁伯合作进一步发展了 Markdown,并将其应用于斯沃茨的项目中。随着时间的推移,Markdown 逐渐获得了广泛的认可和应用,在编写文档、撰写博客、写作文档和代码文档等领域都得到了广泛使用。

Markdown 的优点:

  • 简单易学:Markdown 使用简单的标记语法,易于学习和使用,不需要复杂的编程知识。
  • 纯文本格式:Markdown 文件是纯文本格式,可以在任何文本编辑器中编写,无需特殊的编辑器支持。
  • 易于阅读和编写:Markdown 的语法结构清晰简洁,可读性强,同时也方便编写和编辑。
  • 平台无关性:Markdown 可以在不同的平台和设备上进行编辑和阅读,而不会受到格式兼容性的问题。
  • 可导出多种格式:Markdown 可以轻松转换为 HTML、PDF、Word 等其他格式,便于在不同场景下使用。

Markdown 的缺点:

  • 语法有限:Markdown 的语法相对简单,不支持复杂的排版和高级功能,有时可能无法满足特定的需求。
  • 样式受限:由于 Markdown 的设计初衷是专注于内容而非样式,因此在样式和布局方面的自定义能力相对有限。
  • 学习曲线:尽管 Markdown 的语法简单,但对于完全不熟悉的用户来说,仍然需要一些时间和实践来掌握其语法规则。

Markdown 常用语法:

简单整理了一下,以下是按常用和不常用顺序排列的 Markdown 语法表格:

标题

使用 # 标记,可表示 1 到 6 级标题

粗体

使用 **文本**__文本__ 标记

斜体

使用 *文本*_文本_ 标记

引用

使用 > 标记引用文本

无序列表

使用 -+* 标记列表项

有序列表

使用数字后跟 . 来标记列表项

任务列表

使用 - [ ]- [x] 标记未完成或已完成的任务

链接

使用 [链接文本](链接地址) 标记超链接

图片

使用 ![替代文本](图片地址) 插入图片

代码块

使用 标记单行代码块,或使用 标记多行代码块

水平线

使用 ---___*** 插入水平线

表格

使用 `

脚注

使用 [^脚注名称] 标记脚注,并在文本末尾定义脚注

内联 HTML

可以在 Markdown 中使用部分 HTML 标签和属性

自动链接

使用 <链接地址> 自动将链接转换为可点击的链接

转义字符

使用反斜杠 \ 对特殊字符进行转义

删除线

使用 ~~文本~~ 标记删除线

注释

使用 <!-- 注释内容 --> 插入注释

转义特殊字符

使用 & 加上特殊字符代码转义特殊字符

内嵌 LaTeX 公式

使用 $ 公式 $$$ 公式 $$ 插入内嵌 LaTeX 公式

定义 HTML 锚点

使用 <a name="锚点名称"></a> 定义 HTML 锚点

自定义标题标识符

使用 {#标识符} 自定义标题的 ID 属性

高亮显示代码

使用三个反引号后加语言名称来高亮显示代码块

表格对齐

使用冒号 : 在表格中指定对齐方式

注脚链接

使用 [^脚注名称] 创建注脚链接

自动链接邮箱地址

使用 <邮箱地址> 自动将邮箱地址转换为可点击的链接

自动链接 URL

使用 <链接地址> 自动将 URL 转换为可点击的链接

转义 HTML 标签

使用反斜杠 \ 转义 HTML 标签

内嵌图表

使用 {{图表代码}} 在 Markdown 中插入图表

转义 Markdown 标记

使用反斜杠 \ 转义 Markdown 标记

定义图片尺寸

使用 <img> 标签并指定 widthheight 属性定义图片尺寸

扩展语法(GFM)

GitHub Flavored Markdown(GFM)提供了更多语法扩展,如任务列表

目录

使用 [TOC] 自动生成目录

请注意,这只是 Markdown 语法的一部分,而且不同的 Markdown 解析器可能会有略微不同的语法支持。

文本编辑软件推荐:

第一款:Typora

Typora是一款简单高效的Markdown编辑器,使您可以轻松编写和编辑纯文本。让您觉得它实际上是一个系统自带应用程序。通过为您提供所有必要的工具和一个组织良好的环境,使Markdown编辑任务看起来像是在散步。

Typora 为您提供作为读者和作者的无缝体验。它删除了预览窗口、模式切换器、Markdown 源代码的语法符号以及所有其他不必要的干扰,代之以实时预览,以帮助您专注于内容本身。

软件下载地址:https://alonggjx.com/1.html


typora - 文本编辑器

第二款:EmEditor Pro

EmEditor Pro – 强大的文本编辑器专业版,为程序员、Web 开发人员和普通用户提供语法说明和 Unicode 支持。编辑器功能包括使用正则表达式在文件中搜索和替换、自动检测代码、突出显示链接和电子邮件地址、块选择模式、配置按钮栏、菜单、字体和颜色元素。对于每种语言,您可以设置单独的配置。该程序还支持用 javascript 或 VBScript 编写的强大宏,使您可以捕获经常或偶尔使用的几乎任何操作。

软件下载地址:https://alonggjx.com/146.html


EmEditor pro -文本编辑器


总结:

人们使用 Markdown 的主要原因是它的简洁性和易用性。与其他标记语言相比,Markdown 的语法更简单,使得写作和编辑变得更加高效。它使得编写文档和博客成为一种愉快的体验,同时也方便了文档的版本控制和协作编辑。此外,Markdown 的纯文本格式使得文件易于存储、分享和迁移,不受特定软件或平台的限制。因此,Markdown 成为了许多人在写作和记录文档时的首选工具。