Как определить длину (в пикселях) строки, представляемой на веб-странице?

Большая часть ответа может решить вашу конкретную проблему, но я просто хочу добавить больше информации о выборе htmlElement.

в VanillaJS (чистый Javascript) DOM. Вы можете выбрать элемент с помощью метода 3 DOM.

  1. Выбрать по атрибуту идентификатора

    elem = document.getElementById("id")

  2. Выбрать по атрибуту класса

    elem = document.getElementsByClassName("class")

  3. Выберите по TagName

    elem = document.getElementByTagName("Tag")

и еще 1 дополнительный способ, который использовали.

elem = document.querySelector(selector)

Селектор может быть одним из «.class», «# id» или «Теги»

Спасибо

24
задан Lucas - Better Coding Academy 14 April 2012 в 12:36
поделиться

4 ответа

Используйте функцию PHP imagettfbbox , чтобы получить размер ограничивающая рамка для данной строки.

С другой стороны, вы можете также использовать javascript для управления изображениями SVG в случае, если вы захотите обработать это на стороне клиента. Таким образом, даже не имеет значения, был ли у клиента указанный шрифт или нет ...

18
ответ дан 28 November 2019 в 23:25
поделиться

Ваш заголовок и фактическое сообщение, кажется, говорят немного разные вещи. Я предполагаю, что вы действительно спрашиваете, возможно ли определить ширину в пикселях текста, отображаемого на веб-странице в вашем PHP-коде (до отображения веб-страницы).

Если так, то ответ «НЕТ». Указанный шрифт может быть недоступен на компьютере пользователя; у него / нее могут быть применены пользовательские таблицы стилей; использовать большие размеры шрифта; и т.д ...

То, что вы можете сделать, это определить эту ширину, используя javascript после страницы, отрисованной (очевидно, вы можете сделать это и на другой странице и надеяться, что до этого ничего не изменится) и отправьте это обратно в PHP. С некоторым умным AJAX-модулем вы можете сделать это на одной странице.

Посмотрите на этот вопрос для получения подробной информации о том, как сделать это в javascript.

5
ответ дан 28 November 2019 в 23:25
поделиться

Если вы хотите определить длину строки текста, используя встроенные шрифты PHP (например, если вы используете imagestring ()), вы можете использовать:

imagefontwidth()


$text = "Your text here"
$fontSize = 5;

$textLength = imagefontwidth($fontSize) * strlen($text);

Если вы не используете встроенные шрифты, используйте imagettfbbox (), как упомянуто выше.

2
ответ дан 28 November 2019 в 23:25
поделиться

Вы можете использовать PHP GD для визуализации строки как изображения и получения размера результирующего изображения.

Если вы используете это, это должно работать:

   list($left,, $right) = imageftbbox( 12, 0, "arial.ttf", "Hello World");

   $width = $right - $left;
17
ответ дан 28 November 2019 в 23:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: