大家好,这里是链客区块链技术问答社区,今天讲一讲HTML、CSS、JavaScript、PHP、MySQL这些中应该先学什么,毕竟在这个互联网的时代,选好规划路线是比较正觉的。
ql如果你有耐心坚持去做这件事情的话,我会推荐先HTML,CSS,JS,php然后是MySQL。
首先学习HTML、CSS,为什么呢?因为这一套的,也是比较的简单,去找你个专业教程过一遍,基本就可以学会 了,前提是你不要偷懒~
其次就是学习JS,JS相比于前面的两个会难一点,因为JS才是一门正式的编程语言,同样的找一个专业教程学习,这里推荐一本书《JavaScript DOM编程艺术(第二版)》,看完之后学习Jquery,这样就基本了解了语言库,当学会了之后,基本就你的前端网页开发就已经入门了。如果学习的比较扎实,你就可以胜任前端开发的工作了。
然后在你学习JS的时候,你有可能接收到一些后端的内容,就是ajax。这个是需要后端返回数据的,这个时候就可以开始学习PHP了,相对于JS,PHP会更加的麻烦一些,因为在运行PHP需要很多的细节处理,这里也推荐一本书《php和mysqle web开发(原书第四版)》。
要注意的就是,学习HTML、JS、CSS的时候,只用浏览器就可以了,不需要装wamp,编译器推荐Sumlime,多用google,多练习毕竟学好技术,代码量也是基础。
好了,今天就先讲到这里,有社么疑惑或者意见可以留言~
今天在做需求的时候遇到一个问题,就是数据内容中包含html标签(主要是因为里面的a标签冲突),然后这个内容是放在一个a标签内的,我在遍历的时候发现,页面无法显示内容,于是百度了一下,发现a标签内不能再套用a标签,说明如下:
说明:a标签不能嵌套,若a标签中嵌套了a标签,浏览器会自动添加结束符号,故不能嵌套
例如:
悦遇博客 悦遇商城
浏览器解析:
悦遇博客 悦遇商城如果代码结构复杂,会导致html层级错乱
不能嵌套的还有: h不能直接套h标签 p标签是不可以套块标签的
解决办法:1:span点击触发事件
悦遇博客 悦遇商城
function redict(canshu) { //接下来使用js代码进行页面跳转 window.location.href = canshu; }
2:使用php的htmlspecialchars() 函数
$str='悦遇博客 悦遇商城 ';echo htmlspecialchars($str);
输出如下:
& lt;a href="& gt;悦遇博客 & lt;a href="shop.meetoyou.com"& gt; 悦遇商城& lt;/a& gt;3:使用php的strip_tags()函数
$str="悦遇博客";echo strip_tags($str);
输出如下:
悦遇博客
strip_tags和htmlspecialchars区别
php htmlspecialchars函数用于将预定于的字符转换为html实体,而strip_tags函数用于去除过滤掉html或php标签,从字面意思上看,二者描述不一样,但是他们都可以用来去掉html标签,那么这两个函数在去除html标签上到底用什么区别呢?
区别一:
strip_tags函数使用来去除HTML标签的,而htmlspecialchars并没有去除html标签,只是把标签转换为HTML实例,所以二者之间最大的区别是一个是删除掉HTML标签,一个是将html标签转换为其他字符。
区别二:
如果需要去除HTML标签的字符串里面的标签原来就有错,例如少了大于的符号,在使用strip_tags函数会传回错误,而htmlspecialchars不会有错误出现,依然后转换为HTML实体。
区别三:
在防止XSS攻击时,一般建议使用htmlspecialchars函数,因为strip_tags虽然可以删除HTML标签,但是它不会删除"或'。因此就算你使用了strip_tags,仍然需要使用htmlspecialchars函数来过滤掉"或'
在表单提交或用户留言板里,如果你希望数据原始输出带浏览器,那么请使用htmlspecialchars函数,不要使用strip_tags函数。
这个函数非常重要,特别是在处理中文字符时,同时开发过程中往往需对写入数据库或读取数据库的数据进行处理。
htmlspecialchars(string,flags,character-set,double_encode)
1、string:必需。规定要转换的字符串。2、flags:可选,规定如何处理引号、无效的编码以及使用哪种文档类型,如ENT_COMPAT、ENT_QUOTES、ENT_NOQUOTES3、character-set:可选,顾名思义字符集,默认utf-8,当然支持很多编码,这里不列举4、double_encode:可选,一个规定了是否编码已存在的 HTML 实体的布尔值。
预定义的字符是:1、& (和号)成为 &2、” (双引号)成为 ”3、’ (单引号)成为 ‘4、< (小于)成为 < > (大于)成为 >
那么什么是HTML实体?1、 在 HTML 中,某些字符是预留的。2、在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签,当然在HTML中还有其他实体3、如果希望正确地显示预留字符,我们必须在HTML源代码中使用字符实体(character entities)。4、如需显示小于号,我们必须这样写:< 或 <使用实体名而不是数字的好处是,名称易于记忆。不过坏处是,浏览器也许并不支持所有实体名称(对实体数字的支持却很好)。
<?php$str = "Apple & 'Orange'";echo htmlspecialchars($str, ENT_COMPAT); // 默认,仅编码双引号 //在右键查看源代码下结果为:Apple & 'Orange' echo htmlspecialchars($str, ENT_QUOTES); // 编码双引号和单引号 //在右键查看源代码下结果为:Apple & 'Orange' echo htmlspecialchars($str, ENT_NOQUOTES); // 不编码任何引号 //在右键查看源代码下结果为:Apple & 'Orange'//扩展阅读htmlspecialchars_decode() — 将特殊的 HTML 实体转换回普通字符 ?>
Tumult Whisk是一个轻量级的HTML和PHP编辑器,具有实时预览,可在您键入时更新。Whisk是您工具包中用于HTML,PHP,CSS和javascript编程的必备应用程序。这对于学习Web开发,测试代码段或构建整个网页非常有用。
Tumult Whisk for mac软件特点
实时预览的力量
Tumult Whisk的集成实时预览打破了编写HTML,保存文件,然后重新加载并在浏览器中查看页面的繁琐循环。将写作阶段和查看阶段结合起来可以阐明更改的效果,并加快制作网页的整个过程。基于W3C的验证将在所有错误下加红色下划线。它使用与Safari中相同的渲染引擎,因此它不仅符合标准,而且速度非常快。
预览窗格使用与Safari相同的引擎快速按输入内容呈现HTML和PHP
“监视的文件”自动(或手动)确定何时更改文件,并将重新加载Web预览
基于实时HTML W3C的验证显示错误并用红色下划线突出显示问题标签
预览到其他浏览器或iOS上的Hype Reflect应用
Web检查器/控制台/开发工具访问
可自定义的语法突出显示颜色
可重用的代码段和色样
滚动同步保持可将编辑器和预览保持在相似位置
查看PHP引擎生成的HTML源代码
附加样式表以查看博客帖子/标记在外部样式下的外观
仅作为macOS应用在Cocoa中编写(支持10.11至10.15)
采用新的macOS功能,在明暗模式下均表现出色
小编点评
使用Tumult Whisk mac特别版你可以测试和执行PHP代码、编写博客文章,论坛条目或丰富的电子邮件、运行和调试JavaScript、并创建整个网站。
网站seo优化
有一小部分工作员觉得网页页面的系统种类会危害seo的提升作用,有关这一些我觉得在seo层面并沒有下结论, 只有说存在即合理。今日一起去聊一聊不一样的网页编程语言种类对网站seo检索的危害,关键剖析外部html和静态php。
计算机语言
大伙儿最先要知道计算机语言什么叫。说白了计算机语言(programming language)指得将人的需求解决为设备可以了解的語言。这儿我的的计算机语言是只是指WEB网页编程,关键对于网页网页显示设计规划的語言,换句话说人们在建立网站时应当挑选哪些的计算机语言。
html
外部html与静态php
html是这种标记语言全名Hyper Text Markup Language,意译为超文本标记语言,人们平常在看网址的当时见到网站地址最终面要是尾缀是.html或是.htm的都应属html语言,我觉得不管网址主应用的哪些語言用于设计规划,你所见到的统统是html语言,由于网页只可以鉴别并分析html,html转型到如今早已是5.0的板本也也是平时常说的html5,以前应用最大的是4.0版本。
由于绝大多数的企业的SEO运营专员后端基本功限公司,也就会简易的改动一会儿html格式的文档。假如应用过cms的工作员或是做过设计规划的人显然了解php,这儿也并非说html外部語言就必须比php静态語言好些。
php静态語言
php静态語言
php谈到 PHP 的全名就蛮趣味的,这是1个巢状的简称名字,"PHP: Hypertext Preprocessor",开启简称還是简称。汉语了解为超文本预Cpu,是这种实用的免费源码开发语言。而 PHP 与众不同的词法混合了 C、Java、Perl 及其 PHP 式的新词法。它能够比 CGI 或是 Perl 更迅速地实行动态网页。应用php的程序猿都是说,php是最合适的語言,可是在系统届许多人说php是最废弃物的語言,我只想句子:只能合适自身的算是最合适的。
php以其在web开发中具有高效率,成本低等特性,因此被众多的老总挑选,终究利润和速率因此能决策1个顶目的转型,挑选哪些語言再也不是程序猿能作主的,做为一位及格的SEO经营提升对php的學習都是必不可缺的,把握的大招越大,SEO能够更强的扩展和战胜自我的思想。
seo优化
前边提及html是外部語言,都是页面最开始的形状。外部語言的优势有载入更快,由于网页向虚拟主机要什么服务器就立即给哪些,针对虚拟主机的规定也极低,缺陷都是十分大的,也是不可以静态的提示信息,例如客户不可以和网址开展互动,不可以开展评价,弹窗,提交表单等使用。虚拟主机上带哪些就显视哪些。php做为这门静态語言,益处也是开始保持大量的作用,能够连接数据库,静态的显示2016的內容,例如商品的价钱是即时变化的一些个股啊,微薄啊全是客户全是能够及时编写和递交的。能够说成各有利弊,在以前前两年的当时大伙儿都试过转化成静态网页作用也是将php的网页生成html便于提高客户的网站打开速度,加速网页的检索。如今网络速度都很快并且引擎搜索都是高速转型找不到html必须比php好的下结论了。
这里所说的语言,指的是开发使用的语言,比如ASP、JSP、PHP、NET,当然还有HTML,但是通过HTML纯文本建站的网站几乎绝迹了。
其实,从网站安全、内容展现和蜘蛛爬行方面来说,使用任何开发语言都可以,但是相对来说,PHP可以更好地执行动态语言,而且负载更大,如果使用PHP语言,可能对于某些网站来说更好一些。
对SEO影响的可能是动态、静态之分导致的框架相似的问题。如果采用PHP统一将大量页面处理为一个框架,比如在某些页面实质内容比较少的情况下,就有可能出现页面相似度高的问题,而使用HTML的方式手动来编辑的页面,就不存在这个问题,可以手动调整得更好。
在一些网页抓取和分析的业务场景中,我们将会用到这样一款利器:PHP Simple HTML DOM Parser (以下简称SHDP, 下载地址请找小编索取)。这个解析器支持非严格标准的HTML片段,比其他使用复杂正则表达式从web页面中提取信息的PHP脚本的表现要好很多,如果你用过jQuery,上手这个工具几乎是无缝切换。
将HTML内容转为对象
有三种方式可以将目标HTML内容转换为simple_html_dom对象,该对象提供了对HTML元素的链式操作支持。
SHDP内置了两个方法:file_get_html()和str_get_html(),用以快速构造simple_html_dom开箱对象。两者的区别是前者是从远程地址或文件中加载HTML内容并构造对象:
$html = file_get_html('https://www.kunquer.com/');
后者则是从字符串中构造对象:
$html = str_get_html('<div id="hello">Hello</div><div id="world">World</div>');
当然也可以不用上面两个快捷方法,而是实例化simple_html_dom类,一步一步做设置:
// 实例化$html = new simple_html_dom();// 从远程加载HTML$html->load_file('https://www.kunquer.com/');// 从本地文件加载HTML$html->load_file('test.htm');// 从字符串中加载HTML$html->load('<html><body>Hello!</body></html>');
选定操作元素
// 获取所有a元素,返回一个对象数组$ret = $html->find('a');// 获取第一个a元素$ret = $html->find('a', 0);// 获取最后一个a元素$ret = $html->find('a', -1);// 获取所有有id属性的div元素$ret = $html->find('div[id]');// 获取所有id属性为foo的div元素$ret = $html->find('div[id=foo]'); // 获取id属性为foo的元素$ret = $html->find('#foo', 0);// 获取所有类名包含foo的元素$ret = $html->find('.foo');// 获取所有包含id属性的元素$ret = $html->find('*[id]');// 获取所有a元素和img元素$ret = $html->find('a, img');// 获取所有含有title属性的a元素和img元素$ret = $html->find('a[title], img[title]');// 获取所有包含在ul元素下的li元素$es = $html->find('ul li');
怎么样,是不是非常像jQuery了?接下来我们需要对选定的元素进行读取或修改操作。
读取和修改节点
读取节点内容:
$html = str_get_html('<div>foo <b>bar</b></div>');$e = $html->find('div', 0);echo $e->tag; // 输出元素类型:'div'echo $e->outertext; // 输出整体html内容:'<div>foo <b>bar</b></div>'echo $e->innertext; // 输出内部html内容:'foo <b>bar</b>'echo $e->plaintext; // 输出文本内容:'foo bar'
修改节点内容:
// 在元素外层包裹一层div$e->outertext = '<div class="wrap">' . $e->outertext . '<div>';// 移除元素,只需要将outertext置空$e->outertext = '';// 追加元素$e->outertext = $e->outertext . '<div>foo<div>';// 插入元素$e->outertext = '<div>foo<div>' . $e->outertext;
我们也可以对元素属性进行同样的操作:
$e = $html->find('a', 0);// 修改a元素的href属性$e->href = 'my link';//移除a元素的href属性$e->href = null;// 判断属性是否存在if(isset($e->href)) echo 'href exist!';
遍历DOM树
SHDP提供了以下遍历方法:
方法 描述mixed$e->children ( [int $index]) 如果设置了索引,则返回第n个子对象,否则返回子对象数组element$e->parent () 返回父元素element$e->first_child () 返回元素的第一个子元素,如果没有找到则返回nullelement$e->last_child () 返回元素的最后一个子元素,如果没有找到则返回nullelement$e->next_sibling () 返回元素下一个兄弟元素,如果没有找到则返回nullelement$e->prev_sibling () 返回元素上一个兄弟元素,如果没有找到则返回null
你可以像这样遍历HTML内容:
echo $html->find("#div1", 0)->children(1)->children(1)->children(2)->id;
或者这样:
echo $html->getElementById("div1")->childNodes(1)->childNodes(1)->childNodes(2)->getAttribute('id');
保存更改的HTML
// 将DOM树转换成字符串$str = $html->save(); // 将DOM树转换成字符串,并保存在result.html文件中 $html->save('result.htm');
往期回顾:
给你代码:关于npm的坑
vue简单状态管理,给你代码
随机密码生成器|给你代码
前面2节课全部都是之前写过的程序重新用PHP编程语言来实现。
这节课开始学习如何使用PHP结合HTML网页来实现具体的动态数据网页。
学哥计划做一个学生分数管理功能的网页,首先来做一个一览查询页面。
查询页面上可以输入一些查询条件,例如学生姓名或者科目等信息,点击查询按钮之后,下面显示相应的查询结果,查询结果使用表格的形式来显示。
PHP嵌入HTML的方式
前面几节课都是纯粹的PHP代码,然后通过php命令执行php文件代码的方式来运行PHP代码。
在这一章的第一节课里面,其实已经学习过将PHP代码嵌入HTML网页中的方式,来复习一下:
echo "Hello World";
?>
可以看到,虽然这个文件名最后保存为helloworld.php,但是其本质还是一个html规范格式文件,因为最终这个文件的内容是要显示在浏览器当中的,所以起本质仍然是一个html规范文件。
PHP代码的作用,仅仅是通过动态编程语言生成需要的数据或者是显示格式。
可以这样理解,PHP代码在服务器端运行,运行结束后的文件内容是HTML内容。这样的好处不言而喻,可以根据需求对每一个客户端浏览器生成完全不同的网站内容。
上面的代码,其实也可以完全用PHP代码来实现:
echo "";
echo "";
echo "Hello World";
echo "";
echo "";
?>
这段代码运行起来的结果,和上面的一段代码运行的结果是一模一样的。
这也就是说,在PHP代码里面,不在这组开始和结束标签里面的内容,其实就是默认相当于使用echo输出的方式返回给浏览器的。这也是PHP的一种默认的代码规范。
除了echo函数外,使用其他的标准输出函数,也是类似于echo一样,将输出内容返回到浏览器的。例如print函数、print_r函数、var_dump函数等等。只不过输出的内容如果不符合html规范的话,可能显示在浏览器里面就不是期望的样子了。
编写一览查询页面
创建2个文件studentlist.php文件和student.css文件。
参照之前的index.html和index.css样式,编写html文件和显示样式。
先通过div分成上下3个区域,最上面显示一个标题“学生信息查询”,然后下面2个div分别显示查询条件和查询按钮。
查询条件如下:姓名(文本输入)/性别(单选)/科目(多选)/分数段(下拉框选择)。
下面的区域显示查询一览结果,使用table显示,第一行是表头,显示下列数据:
ID/姓名/性别/科目/分数。
修改studentlist.php文件:
修改student.css文件:
将这2个文件部署到本地服务器的相应目录中,然后启动本地Web服务程序,然后通过浏览器访问这个php网页:
然后在下面一行的td里面编写显示查询一览结果的table。
显示下列数据:ID/姓名/性别/科目/分数。
第一行是表头,第二行是数据。表头和数据的显示样式可以不一样,以示区别。
修改studentlist.php文件:
修改student.css文件,新增下列代码:
刷新网页:
可以看到网页中显示了一个表格,内容是学生分数查询结果。
将数据行复制多行,并且让奇数行和偶数行显示不一样的底色,这样看起来更美观。
修改studentlist.php文件:
修改student.css文件,增加一个样式tdb:
刷新网页:
可以看到表格显示了多行数据,并且行之间有明显分隔。
使用PHP代码循环显示一个table的数据
通过编写静态html内容的方式,可以完成显示样式的编码。
然后将这里的多行显示内容修改为用PHP代码来动态生成。
首先将刚刚增加的4行数据行删除,只保留一行数据。
然后,在这个数据行的前面和后面分别增加PHP代码,将这行数据放入一个for循环当中,也就是让这行数据重复显示5次。
修改studentlist.php文件:
刷新网页:
可以看到,页面显示5行完全一模一样的数据。这就是PHP代码的威力。
如果要将5行变成100行,也只需要修改一个数字即可。而如果是纯粹的HTML代码,要重复100行的话,也要花很多时间进行复制粘贴。
如果要将奇数行和偶数行的显示变得不一样,可以这样修改:
首先设置一个用于显示样式是tda还是tdb的变量,名字为tds;
然后根据当前行是偶数行则赋予tds的值为tdb字符串;
然后在需要显示样式的地方,输出这个变量。这样循环当中,当变量$i变化时,对2求模的结果会是0或者1,也就是奇数还是偶数,这样变量tds的值就会变成tda或者tdb,最后输出的时候就会不一样了。
修改studentlist.php文件:
刷新网页:
如果要将这5行的ID和姓名显示的不一样,应该怎么处理呢?
一个简单的办法就是修改显示的内容为跟随当前循环变量来生成:
修改studentlist.php文件,同时调整代码的分行位置:
刷新网页:
可以看到,每一行的ID和名字都不一样了。
当然,在实际项目中,一般是不采用这样的方式的,一般来说,整个数据结果集肯定是一起返回到页面显示的地方,然后通过访问这个数据结果集来嵌入到HTML的table里面来进行显示的。
一般的方式是采用二维数组变量来保存数据结果集的。
增加一个变量$alldatas,然后内容是二维数据,外面一层是每一行的意思,里面一层用键和值来表示不同的字段数据。
然后显示循环内部,通过访问这个二维数组的某个键来获得对应的数据,并通过echo来输出到网页内容中。
修改studentlist.php文件:
刷新网页:
可以看到数据显示了5行,每一行的姓名都是按照数组变量中的值来进行显示。通过这样的方式,可以很方便的显示出后台数据。
但是有一个不正确的地方,那就是数据的行数长度为5,代码仍然是用for循环5次,加入数据的行数长度不是5,那么这里for循环就不正确了。应该改为foreach针对二维数组变量进行遍历循环,这样才能完全按照存储变量的数据来显示行数和内容。
修改循环方式和变量显示,同时将其他的字段都修改为按照这样的方式来显示。
修改studentlist.php文件:
刷新网页:
可以看到,所有的显示内容都是依赖于数组变量里面存储的值了。只要修改这个变量里面存储的数据,网页就会显示不同的内容了。
这就是动态网站的精髓之所在。
编写各个查询项目和查询按钮
接下来,编写上面的查询条件和查询按钮。
在3-4这一节当中,大致介绍了各种输入项的编写方式,来复习一下:
可以在网页上显示一个文本输入框。
可以在网页上显示一个单选按钮。
可以在网页上显示一个多选按钮。
可以在网页上显示一个按钮。
使用select元素可以显示一个下拉框。
选项1
选项2
以上代码可以在网页中显示一个下拉框选项,里面有2个选择项目。
按照以上方式,在上面区域中增加下列查询条件和一个查询按钮。
姓名(文本输入)/性别(单选)/科目(多选)/分数段(下拉框选择)/查询按钮。
首先来规划一下这5个项目如何摆放在页面中。
打算将查询按钮放在最右侧,然后左边分成上下2行,上面一行分成3列,分别显示姓名和性别和分数段;
下面一行由于是科目多选,需要的长度比较长,因此下面一行占用3列宽度,这样正好利用table的合并单元格属性来实现。
首先,写好table的各个tr和td的分布,将边框显示出来,验证排版是否正确:
修改studentlist.php文件:
刷新网页看看效果:
然后,编写所有的查询条件和查询按钮:
修改studentlist.php文件:
修改student.css文件:
刷新网页看看效果:
可以看到,查询网页已经基本成型了,那么接下来就是实现点击查询按钮之后的功能,也就是根据输入不同的条件,返回不同的查询数据结果。
特别说明
这节课的内容非常关键,是编写动态网站的核心入门教程。由于这节课的内容用到了很多之前课程的相关内容,如果大家是碰巧第一次看到这篇文章的话,可能有很多不明白的地方,那么可能需要看看学哥之前写的文章,建议从0001这节课开始看,这样前后有连贯,才会更好的理解。
htmlspecialchars()函数定义及用法
在php中,htmlspecialchars()函数是使用来把一些预定义的字符转换为HTML实体,返回转换后的新字符串,原字符串不变。如果 string 包含无效的编码,则返回一个空的字符串,除非设置了 ENT_IGNORE 或者 ENT_SUBSTITUTE 标志;
被转换的预定义的字符有:
&:转换为&":转换为"':转换为成为 '<:转换为<>:转换为>htmlspecialchars()函数有四个参数,第一个参数规定了需要转换的字符串;第二个参数规定了如何处理引号、无效的编码以及使用哪种文档类型,是可选参数;第三个参数也是可选参数,规定了要使用的字符集的字符串;第四个参数也是可选参数,规定了是否编码已存在的 HTML 实体的布尔值(TRUE:将对每个实体进行转换;FALSE:不会对已存在的HTML实体进行编码);
htmlspecialchars()函数语法格式:
$str = htmlspecialchars(string,flags,character-set,double_encode);
参数说明
string:规定要转换的字符串;flags :可选参数,规定如何处理引号、无效的编码以及使用哪种文档类型;可用的引号类型:
ENT_COMPAT:默认。仅编码双引号。ENT_QUOTES:编码双引号和单引号。ENT_NOQUOTES:不编码任何引号。无效的编码:
ENT_IGNORE:忽略无效的编码,而不是让函数返回一个空的字符串。应尽量避免,因为这可能对安全性有影响。ENT_SUBSTITUTE: 把无效的编码替代成一个指定的带有 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD; 的字符,而不是返回一个空的字符串。ENT_DISALLOWED: 把指定文档类型中的无效代码点替代成 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD;。规定使用的文档类型的附加 flags:
ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。ENT_HTML5:作为 HTML 5 处理代码。ENT_XML1:作为 XML 1 处理代码。ENT_XHTML: 作为 XHTML 处理代码。character-set :可选。一个规定了要使用的字符集的字符串。允许的值:
UTF-8:默认。ASCII 兼容多字节的 8 位 UnicodeISO-8859-1:西欧ISO-8859-15:西欧(加入欧元符号 + ISO-8859-1 中丢失的法语和芬兰语字母)cp866:DOS 专用 Cyrillic 字符集cp1251:Windows 专用 Cyrillic 字符集cp1252: Windows 专用西欧字符集KOI8-R: 俄语BIG5 :繁体中文,主要在台湾使用GB2312: 简体中文,国家标准字符集BIG5-HKSCS:带香港扩展的 Big5Shift_JIS:日语EUC-JP:日语MacRoman:Mac 操作系统使用的字符集注释:在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。
double_encode:可选参数,一个规定了是否编码已存在的 HTML 实体的布尔值(TRUE:默认,将对每个实体进行转换;FALSE:不会对已存在的 HTML 实体进行编码);更新日志:
在 PHP 5 中,character-set 参数的默认值改为 UTF-8。在 PHP 5.4 中,新增了:ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML。在 PHP 5.3 中,新增了 ENT_IGNORE。在 PHP 5.2.3 中,新增了 double_encode 参数。在 PHP 4.1 中,新增了 character-set 参数。实例:
<?php
header("content-type:text/html;charset=utf-8");//设置编码,解决中文乱码
$string = "ggbiji & 'ggbiji'";
$string1 = htmlspecialchars($string, ENT_COMPAT); // 默认,仅编码双引号
$string2 = htmlspecialchars($string, ENT_QUOTES); // 编码双引号和单引号
$string3 = htmlspecialchars($string, ENT_NOQUOTES); // 不编码任何引号
echo $string1."<br/>\n";
echo $string2."<br/>\n";
echo $string3."<br/>\n";
?>
运行结果:
htmlspecialchars()函数图1HTML输出如下(查看源代码):
htmlspecialchars()函数图12
有一部分站长认为网站页面的程序类型会影响seo的优化效果,关于这一点其实在seo方面并没有定论,科思只能说存在即合理。今天一起来聊聊不同的网页编程语言类型对网站seo收录的影响,主要分析静态html和动态php。
编程语言大家首先要了解编程语言什么是。所谓编程语言(programming language)是指将人的需求处理为机器能够读懂的语言。在这里我的的编程语言是仅仅指WEB网页编程,主要针对浏览器页面显示开发的语言,也就是说我们在做网站时应该选择什么样的编程语言。
html静态html与动态php
html是一种标记语言全称Hyper Text Markup Language,直译为超文本标记语言,我们平时在看网站的时候看到网址最后面只要后缀是.html或者.htm的都属于html语言,其实无论网站主使用的什么语言用来开发,你所看到的全都是html语言,因为浏览器只能够识别并解析html,html发展到现在已经是5.0的版本也就是平常所说的html5,之前使用最多的是4.0版本。
因为大部分的公司的SEO运营专员后端功底有限,也就会简单的修改一下html格式的文件。如果使用过cms的站长或者做过开发的人肯定知道php,在这里也并不是说html静态语言就一定比php动态语言要好。
php动态语言php动态语言
php讲到 PHP 的全名就蛮有趣的,它是一个巢状的缩写名称,"PHP: Hypertext Preprocessor",打开缩写还是缩写。中文理解为超文本预处理器,是一种通用的开源脚本语言。而 PHP 独特的语法混合了 C、Java、Perl 以及 PHP 式的新语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。使用php的程序员都会说,php是最好的语言,但是在程序届很多人说php是最垃圾的语言,我只想说说:只有适合自己的才是最好的。
php因其在web开发中具备效率高,低成本等特点,所以被广大的老板选择,毕竟成本和速度往往能决定一个项目的发展,选择什么语言可不是程序员能做主的,作为一名合格的SEO运营优化对php的学习也是必不可缺的,掌握的技能越多,SEO才能更好的拓展和改变自己的思维。
seo优化前面提到html是静态语言,也是网页最初的形态。静态语言的优点有加载速度快,因为浏览器向服务器要什么服务器就直接给什么,对于服务器的要求也非常低,缺点也是非常大的,就是不能动态的显示信息,比如用户不能够和网站进行交互,不能够进行评论,弹幕,提交表单等操作。服务器上有什么就显示什么。php作为一门动态语言,好处就是开始实现更多的功能,可以连接数据库,动态的显示最新的内容,比如产品的价格是实时变动的有些股票啊,微博啊都是用户都是可以随时编辑和提交的。可以说是各有利弊,在之前前几年的时候大家都用过生成静态页面功能就是将php的页面生成html以便提升用户的访问速度,加快浏览器的收录。现在网速都飞快而且搜索引擎也是高速发展不存在html一定比php好的定论了。
关于什么样的网页编程语言更有利于网站的seo优化科思就聊到这里,如果你有不一样的观点,欢迎评论区留言交流。更多资讯请关注:科思