Heim  >  Artikel  >  Backend-Entwicklung  >  PHPWORD ersetzt Vorlageninhalte und löst verstümmelte chinesische Zeichen

PHPWORD ersetzt Vorlageninhalte und löst verstümmelte chinesische Zeichen

不言
不言Original
2018-04-02 13:21:403136Durchsuche

Der Inhalt dieses Artikels besteht darin, den Vorlageninhalt in PHPWord zu ersetzen und das Problem der verstümmelten chinesischen Zeichen zu lösen. Freunde in Not können einen Blick darauf werfen.

Okay, laden Sie es zuerst herunter:
Download-Adresse: https://pan.baidu.com/s/1upup2rpLTVXIdJpGi9kK6A
Passwort: qxsd
Handbuch http://phpword.readthedocs.io /en/latest/search.html?q=setValue&check_keywords=yes&area=default

//Vendor verwenden, um die PHPWord-Klasse einzubinden
require_once "./word/PHPWord.php";
// PHPWord-Objekt initialisieren
$PHPWord = new PHPWord();
$oMember['m_real_name'] = "Elektronenmikroskoptest";
$oMember['content'] = "Anforderungen für den Elektronenmikroskoptest Beschreibung Elektronenmikroskop Testanforderungen Beschreibung Elektronenmikroskop-Testanforderung Beschreibung Elektronenmikroskop-Test AnforderungBeschreibung Testanforderungen für Elektronenmikroskope Beschreiben Sie die Testanforderungen für die Elektronenmikroskopie.Beschreiben Sie die Testanforderungen für die Elektronenmikroskopie.Beschreiben Sie die Testanforderungen für die Elektronenmikroskopie.

Beschreiben Sie die Testanforderungen für die Elektronenmikroskopie.Beschreiben Sie die Testanforderungen für die Elektronenmikroskopie.Beschreiben Sie die Testanforderungen für die Elektronenmikroskopie.Beschreibung";
//Vorlagendatei laden

$document = $PHPWord ->loadTemplate('./word/test/template1.docx');


//Ersetzen Sie einen Inhalt in der Word-Vorlagendatei, wenn Sie hier Chinesisch anzeigen möchten Verwenden Sie die iconv-Funktion
$document->setValue('need_name', iconv('utf-8', 'GB2312//IGNORE', $oMember['m_real_name']));
$document-> ;setValue('content', iconv('utf-8', 'GB2312//IGNORE', $oMember['content']));

//Ersetzen Sie einen Inhalt in der Word-Vorlagendatei Verwenden Sie nicht den chinesischen setValue
$document->setValue('file', "7897898998");

$filename = './word/test/m-i-'.time().'. docx';

//Word-Dokument speichern
$document->save($filename);

//Word-Dokument herunterladen
//header("Speicherort: ".$filename)


So schreiben Sie Variablen in Vorlagendateien

content =》 ${content} Denken Sie daran, keinen Stil hinzuzufügen Diese Variable ist sonst betroffen

need_name =》 ${need_name}

file =》 ${file}

Auf diese Weise werden Sie feststellen, dass die chinesischen Schriftzeichen sind verstümmelt. Sie müssen mehrere Dateien ändern:

Word/Base.php _WriteTextStyle() Methode unten

$objWriter->writeAttribute('w:eastAsia', $font) ; //Ändern und hinzufügen if ($font != 'Arial') {
$objWriter->startElement('w:rFonts');

$objWriter->writeAttribute( 'w:eastAsia', $font); // Hinzufügen Ändern Sie diese Zeile und fügen Sie

$objWriter->writeAttribute('w:ascii', $font);
$objWriter->writeAttribute('w :hAnsi', $font);
$objWriter ->writeAttribute('w:cs', $font);
$objWriter->endElement();
}


PHPWord/Template.php setValue() Methode:

if(!is_array($replace)) {// $replace = utf8_encode($replace); Kommentare

$replace = iconv( 'gbk','utf- 8', $replace); //Hinzufügen

}

Okay, jetzt gibt es kein Problem

Quelle: Second-rater

Verwandte Empfehlungen:

Wie löst PHP das Problem der verstümmelten chinesischen Schriftzeichen?


Das obige ist der detaillierte Inhalt vonPHPWORD ersetzt Vorlageninhalte und löst verstümmelte chinesische Zeichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP Memcache und MemcachedNächster Artikel:PHP Memcache und Memcached