Tag Archive replace

ขึ้นบรรทัดใหม่ใน textarea

ข้อมูลถูกเก็บไว้เป็น string ยาวๆ โดยแบ่งหัวข้อย่อยโดยใช้ @ นำหน้า ต้องการให้แสดงใน textarea โดยขึ้นบรรทัดใหม่ที่ละหัวข้อจะได้อ่านง่ายหน่อย

การเขียนให้ javascript จัดรูปแบบให้เขียนได้ในบรรทัดเดียว[code language=”javascript” title=”replace newline javascript”]string.split(‘\n’).join(”).split(‘@’).join(‘\[email protected]’).replace(/^\s/, ”);[/code]

ทดลอง หรือเขียนดูเอง ถ้า textarea id เท่ากับ detail จะเขียน code ง่ายๆได้เป็น[code language=”javascript” title=”replace newline jQuery”]<!doctype html>
<html>

<head>
<meta charset="utf-8">
<title>jQuery: textarea newline</title>
<link href="../vendor/twbs/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" type="text/css">
</head>

<body>
<h1>Textarea newline</h1>
<form action="values.php" class="form-horizontal" id="formA" method="post">
<div class="form-group">
<label for="detail">Example textarea</label>
<textarea class="form-control" id="detail" rows="10"></textarea>
</div>
</form>
<div class="col-sm-12" id="resultA"></div>
<script src="../vendor/components/jquery/jquery.min.js"></script>
<script>
$(document).ready(function () {
let textarea = $(‘#detail’);

function format() {
let temp = textarea.val().split(‘\n’).join(”).split(‘@’).join(‘\[email protected]’).replace(/^\s/, ”);
textarea.val(temp);
}

format();
textarea.on(‘change’, function () {
format();
});
});
</script>
</body>

</html>[/code]

แก้เนื้อหาทั้งตาราง

content เขียนเนื่อหามาสวยงามในตัวเทส แต่เวลาขึ้นเว็บจริงภาพดันหายหมดเลย view code ดูใช้

[code language=”html”] <img src-"http://localhost/barbei/assets/service-Tour.jpg"> [/code]

งานเข้า มีหลายรายการไม่ใช่น้อยๆ แต่ยังดีที่มีรูปแบบการแก้ที่แน่นอนคือ เอา http://localhost/barbei/ ออกไป ทำได้ด้วยคำสั่ง sql ง่ายๆ ตามตัวอย่าง

[code language=”html”]
UPDATE MyTable
SET StringColumn = REPLACE (StringColumn, ‘SearchForThis’, ‘ReplaceWithThis’)
WHERE SomeOtherColumn LIKE ‘%PATTERN%’
[/code]

ผมเก็บเนื้อหาไว้ในตาราง contents ส่วนเนื้อหาอยูใน field contentBody จะเขียน ได้

[code language=”sql”]
UPDATE `contents`
SET `contentBody ` = REPLACE (contentBody, ‘ http://localhost/barbei/ ‘, ‘ ‘)
[/code]

เสร็จก่อนมาม่าสุกอีก เขียนด้วยความระมัดระวังนะครับ ของผมไม่มี where เพราะต้องการแทนที่ทั้งหมดแลยในครั้งเดียว ถ้าไม่แน่ใจทดลง select ข้อมูลก่อนดูว่าข้อมูลที่ออกมาทั้งหมดเป็นตัวที่จะแก้รึเปล่า

PHP เทมเพลต

วิธีติดต่อ user ดีที่สุดคือการส่งจดหมายข่าวบอกไปว่าเว็บเราอัพเดต มีอะไรน่าสนใจบ้าง แต่จะให้ส่งข้อความไปเหมือนๆ กันทุกๆ คน คงจะดูไม่น่าสนใจเท่าไหร ถ้ามีบางส่วนที่พิเศษไปสำหรับแต่ละคน เช่น แสดงชื่อของลูกค้า จะดูน่าสนใจขึ้นใช้ไหมครับ
ก่อนอื่นก็สร้างไฟล์ที่เป็นต้นแบบของจดหมายมาก่อนชื่อ templates.tmp.html
[sourcecode language=”html”]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>#title#</title>
</head>
<body bgcolor="#c00000">
#contents#
</body>
</html>
[/sourcecode]
จากนั้นจะทดลองเปลี่ยนเนื้อหาจากต้นฉบับดู สร้างไฟล์ templates.php ตามตัวอย่าง
[sourcecode language=”php”]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>PHP template By Pitt Phunsanit</title>
</head>
<body>
<?php
$output = file_get_contents(‘templates.tmp.html’);
$patternSearch = array(‘#title#’, ‘#contents#’);
$patternReplace = array(‘ทดลองเทมเพลต’, ‘แสดงเนื้อหาแล้วนะ’);
$output = str_replace($patternSearch, $patternReplace, $output);
echo'<textarea cols="200" rows="40">’,$output,'</textarea>’;
?>
</body>
</html>
[/sourcecode]
หลักการง่ายๆ คือแทนที่คำๆหนึ่ง ด้วยค่าจากตัวแปรอื่น ๆ ลองดัดแปลงใช้กับฟังก์ชั่นเมล์ดูนะครับ อาจจะเพิ่มให้มีไฟล์ต้นแบบหลายๆ แบบ