Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Разделите html, чтобы получить список с разделителями строк

Автор вопроса: user460114Ответов: 1

Я хочу создать записи местоположения базы данных в mySQL. У меня есть следующая строка html из поля выбора:

<cfset x='
<option value="1188">Aka Aka</option><option value="346">Ararimu</option><option value="293">Awhitu</option><option value="2851">Bombay</option><option value="865">Buckland</option>
'>

Вместо того, чтобы вручную вводить записи в базу данных, я хотел бы удалить теги html и получить следующее:

Aka Aka
Ararimu
Awhitu
Bombay
Buckland

Затем я мог бы сделать простой цикл на основе разрывов строк и ввести данные программно. Я, вероятно, справлюсь с этой частью, но мне нужно знать самый простой способ вырезать html, чтобы в итоге получить список с разделителями строк.

  • Самый простой способ решить проблемы такого типа - избежать их. В этом случае приложите некоторые усилия к этому полю выбора, чтобы оно давало вам более точные данные. Dan Bracuk 20.05.2016
  • Очевидно. Мы все мечтаем об идеальных данных в самом идеальном формате. Но в данном случае нельзя. Я должен работать с тем, что у меня есть. user460114 22.05.2016

coldfusion-2016coldfusion

Ответы

Ответ 1 · рейтинг 6 · Alex Baban

Ну вот:

<cfset x='
<option value="1188">Aka Aka</option><option value="346">Ararimu</option><option value="293">Awhitu</option><option value="2851">Bombay</option><option value="865">Buckland</option>
'>

<cfset y = ListToArray(x, "</option>", "false", "true") />

<cfset z = ArrayNew(1) />

<cfloop array="#y#" index="name">
    <cfif Trim(ListLast(name, ">")) is not "">
        <cfset temp = ArrayAppend(z, ListLast(name, ">")) />
    </cfif>
</cfloop>

<cfdump var="#z#" />

у вас есть они в массиве 'z' теперь, вы можете преобразовать в список и добавить разделители разрыва строки, если вы действительно хотите.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы