PHP html to docx 可避免中文亂碼

$html = '123abc中文abc123'; // html 內容
$html = strip_tags($html, '

,
<h1>,
<h2>,
<h3>,
<h4>,
<h5>,
<h6>,<strong>,<em>,<sup>,<sub>,
<table>,
<tr>,
<td>
,
<ul>,
<ol>,
<li>'); // 建議過濾 只留下這些html
$fileName = 'test'; // 檔名
start();
echo $html;
save($fileName.'.docx');
ob_flush();
flush();
redirect($fileName.'.docx');

function start(){
	ob_start();
	echo '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	</head>
	';
}
function save($path) {
	echo "</html>";
	$data = ob_get_contents();
	ob_end_clean();
	wirtefile ($path,$data);
}
function wirtefile ($fn,$data) {
	$fp=fopen($fn,"wb");
	fwrite($fp,$data);
	fclose($fp);
}

參考資料:
https://www.itread01.com/articles/1478056826.html

[轉貼]CSS字體加載跨域問題-如何解決設定.htaccess檔

.htaccess

 
#解決css加載字體跨域問題此招對自己架設主機者有效
<FilesMatch "\.(ttf|otf|eot|woff|woff2)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>

AddType application/vnd.ms-fontobject .eot 
AddType application/x-font-ttf .ttf 
AddType application/vnd.ms-fontobject .eot 
AddType application/x-font-ttf .ttf 
AddType application/x-font-opentype .otf 
AddType application/x-font-woff .woff 
AddType application/x-font-woff2 .woff2 
AddType image/svg+xml .svg 
 


閱讀全文〈[轉貼]CSS字體加載跨域問題-如何解決設定.htaccess檔〉

php – 如何使用codeigniter中的事務進行基於數據更改的提交和回滾

// sql rollback
$this->db->trans_start();

	// sql
	$this->db->query();


$this->db->trans_complete();

if ($this->db->trans_status() === FALSE) { 
     $this->db->trans_rollback(); 
} else {
     $this->db->trans_commit(); 
}

來源: php – 如何使用codeigniter中的事务进行基于数据更改的提交和回滚?

「CodeIgniter」-怎麼做到「如果其中一個SQL命令執行失敗,則回滾已操作的命令」?-Transaction – 陳董 Don Chen

來源: 「CodeIgniter」-怎麼做到「如果其中一個SQL命令執行失敗,則回滾已操作的命令」?-Transaction – 陳董 Don Chen

CodeIgniter Transaction的使用:

$this->db->trans_start();
$this ->db -> insert(‘user’,$i_data);
$this -> db ->insert(‘score’,$i_data2);
$this->db->trans_complete();

如果insert score的時候發生了問題,則已經執行的inser user會回滾。

[轉貼]表單使用 Gmail 當 SMTP 時出現 Google 帳戶:登入嘗試遭拒 或 error: 5.5.1 – 要改的地方太多了,那就改天吧

這篇文章 的處理方式有效解決我一直寄送不出mail的問題

閱讀全文〈[轉貼]表單使用 Gmail 當 SMTP 時出現 Google 帳戶:登入嘗試遭拒 或 error: 5.5.1 – 要改的地方太多了,那就改天吧〉

[轉貼]PHP 爬取需要运行 JS 的页面 (Run JS While Grabing Web Page With PHP)

如果 curl 執行回來的 html 其中的 js 需要執行 才會有正常的頁面回來的話 可以參考看看 phantomjs 這方式

 

來源: PHP 爬取需要运行 JS 的页面 (Run JS While Grabing Web Page With PHP) | Laravel China 社区 – 高品质的 Laravel 开发者社区 – Powered by PHPHub

[轉貼]HTML5中的Web通知桌面通知

if (Notification.permission == "granted") {
    var notification = new Notification("Hi,帅哥:", {
        body: '可以加你为好友吗?',
        icon: 'mm1.jpg'
    });
    
    notification.onclick = function() {
        text.innerHTML = '张小姐已于' + new Date().toTimeString().split(' ')[0] + '加你为好友!';
        notification.close();    
    };
}    

张鑫旭的个人博客_web前端技术文章_简单了解HTML5中的Web Notification桌面通知

來源: 简单了解HTML5中的Web Notification桌面通知 « 张鑫旭-鑫空间-鑫生活

[PHP] 解決+號在get傳輸時變成空白的問題

使用get方式時,參數內容有帶”+”的話,接收方會變成空白 ex:   got.php?a=A+B 則got.php接收的a會得到”A B”,加號會變成空白 解法就是,在帶入a的值時,把”+”取代成”” 這樣接收方就能正確接收加號。

來源: [PHP] 解決+號在get傳輸時變成空白的問題

簡單的處理:
urldecode(str_replace(“+”,”%2B”,urlencode([要處理的])));

Sublime-HTMLPrettify 程式碼整理

因為.php檔案 沒有設定到 必須手動在 html中 補上檔名為 .php的也要整理

安裝方式:
Ctrl+Shift+P or Cmd+Shift+P in Linux/Windows/OS X
type install, select Package Control: Install Package
type prettify, select HTML-CSS-JS Prettify

來源: GitHub – victorporof/Sublime-HTMLPrettify: HTML, CSS, JavaScript and JSON code formatter for Sublime Text 2 and 3 via node.js

PHP Html Purifier 編輯器過濾 xss

剛好我用的是CI..
https://github.com/refringe/codeigniter-htmlpurifier
只是這個範例要安裝composer 然後修改autoload位置..確實過濾的蠻強大的…

另外提醒..光靠前端的js抵禦 是沒意義的喔..

把其中的

require_once APPPATH.'third_party/htmlpurifier-4.8.0-standalone/HTMLPurifier.standalone.php';

修正為

require dirname(dirname(__DIR__)) . '/vendor/autoload.php';

測試方法

$dirty_html = <<<TEST
攻擊字串...etc
TEST;
$this->load->helper('htmlpurifier');
$clean_html = html_purify($dirty_html);
var_dump($clean_html);

來源: refringe/codeigniter-htmlpurifier: A Codeigniter helper to purify html input using the HTMLPurifier standalone class.