Я использую PHPExcel для извлечения данных из моей базы данных на организованный лист Excel. Все работает отлично, за исключением одного. Мои записи в базе данных могут иногда содержать HTML-разметки, такие как <strong></strong>
, <BR>
, <p></p>
т. Д. Поэтому мне удалось заставить эту работу PHP работать, это отлично работает для замены моего <BR>
разметки на пробел.
$data = str_replace("<br />", "\n", $data); $data = str_replace("<br/>", "\n", $data); $data = str_replace("<br>", "\n", $data);
Однако, когда я пытаюсь сделать следующее, он ничего не делает. Я ожидал, что это будет смелым текстом.
$data = str_replace("<strong>", '&B', $data);
Я прочитал на этих форумах, что лучше всего использовать preg_replace и настроить массив для всех разметки HTML, которые мне нужно заменить. Для жизни я не могу понять, как использовать preg_replace. Кто-нибудь, пожалуйста, дайте мне несколько советов, как лучше заменить замещения, такие как <strong>
и </strong>
чтобы сделать полужирным, когда он будет экспортироваться, это было бы очень оценено.
'&B'
будет только выделять жирный текст для печатных верхних и нижних колонтитулов страниц, как описано в разделе документации, озаглавленной « Setting the print header and footer of a worksheet
нижнего колонтитула Setting the print header and footer of a worksheet
Форматирование содержимого ячейки описано в разделе документации « Formatting cells
:
$objPHPExcel->getActiveSheet()->getCell('A1')->setValue('bold'); $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
или (если ваш контент содержит фактическую разметку) с использованием объектов Rich Text, если вы хотите только выделить часть текста полужирным шрифтом.
$objRichText = new PHPExcel_RichText(); $objRichText->createText('This text is '); $objBoldTextRun = $objRichText->createTextRun('bold'); $objBoldTextRun->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getCell('B1')->setValue($objRichText);
но вам нужно будет разобрать свою разметку, чтобы преобразовать ее в объект Rich Text